跪求 各位大侠:EXCEL中如果在一列数据向上查找最近一个相同值,然后返回两数值间隔的行数?用什么函数

作者&投稿:莫冯 (若有异议请与网页底部的电邮联系)
各位大侠,excel中如何每隔10行进行一次排序~

由于提问中没有表格的实际数据截图,只好按我这边的设定举例了,B1公式下拉:
从小到大排序公式:
=IF(COUNT(A$1:A$1000)>=ROW(A1),SMALL(OFFSET(A$1,INT((ROW(A10)/10-1))*10,,10),MOD(ROW(A10),10)+1),"")

从大到小排序公式:
=IF(COUNT(A$1:A$1000)>=ROW(A1),LARGE(OFFSET(A$1,INT((ROW(A10)/10-1))*10,,10),MOD(ROW(A10),10)+1),"")

如果用的是EXCEL 2007及以上版本,上面的两条公式可精简为:
从小到大排序公式:
=IFERROR(SMALL(OFFSET(A$1,INT((ROW(A10)/10-1))*10,,10),MOD(ROW(A10),10)+1),"")

从大到小排序公式:
=IFERROR(LARGE(OFFSET(A$1,INT((ROW(A10)/10-1))*10,,10),MOD(ROW(A10),10)+1),"")



1、先打开电脑,打开一个excel文档。

2、然后可以看到A和D列之间是有重叠的。

3、然后选中A到D列。

4、之后右击选择取消隐藏。

5、结果如图所示,这样便取消了隐藏重叠。


注意事项:
Excel支持Visual Basic for Applications(VBA)它使Excel形成了独立的编程环境。使用VBA和宏,可以把手工步骤自动化,VBA也允许创建窗体来获得用户输入的信息。但是,VBA的自动化功能也导致Excel成为宏病毒的攻击目标。

假设那些原始数据在A1:A100中,B1中反正不会有相隔的内容,从B2开始吧,B2中输入
=IF(COUNTIF(A$1:A2,A2)<2,"",ROW()-LOOKUP(1,0/(A$1:A1=A2),ROW($1:1)))
用自动填充柄下拉。

假定,你把这些数据输入到了A列1-N行
则:
在B1格输入, =COUNTIF(A$1:A1,A1) 下拉填充至第N行
在C1格输入, =ROW() 下拉填充至第N行
在D2格输入, =IF(B2>1,C2-SUMIFS(C$1:C1,A$1:A1,A2,B$1:B1,B2-1),-1) ,下拉填充至第N行

在D列中,-1表示前面没有相同数据,非-1表示的就是举例最近的相同数值的行距

给你一个VBA

Sub test()
Dim i%, k%
Range("b:b").ClearContents
For i = Range("a65536").End(xlUp).Row To 2 Step -1
If IsError(Application.Match(Cells(i, 1), Range(Cells(1, 1), Cells(i - 1, 1)), 0)) = False Then
Cells(i, 2) = i - Application.Match(Cells(i, 1), Range(Cells(1, 1), Cells(i - 1, 1)), 0) - 1
Else
Cells(i, 2) = "无相同值"
End If
Next
End Sub

这个问题用VBA更好解决


武胜县19427499784: excel表格中如何在用公式算出数据后,删除原数据仍然保留算出的数据 -
夹畅丹参: 先选择公式部分,然后复制这些单元格.此时保持那些单元格处于选中状态不要动,右键---选择性粘贴--数值,确定即可

武胜县19427499784: EXCEL中,如果我想用IF公式实现以下操作,那么公式怎么写? -
夹畅丹参: 在B1输入公式 =VLOOKUP(A1,C:D,2,0) 下拉填充即可

武胜县19427499784: 各位大侠,在excel中想实现这样一个功能:如果单元格内不是指定值,则返回特定值. -
夹畅丹参: =if(a14,"差","")就好啦.

武胜县19427499784: 我想在excel函数中表示以下意思如何编写语句,,请各位大侠帮忙!! -
夹畅丹参: =IF(A10<=DATE(2009,2,25),2,IF(A10

武胜县19427499784: 求救各位大侠!对Excel表中单元格数值取位到百位整数止(十位以下四舍五入)的公式 -
夹畅丹参: 假如数据在A1单元格,在B1单元格对其进行取舍.则在B1单元格内输入: =ROUND(A1,-2) 即可

武胜县19427499784: EXCEL中的难题,如果A≤100,为1000;如果100<A≤1000,为A*0.0005;如果A>1000,为100+(A - 100)*0.5 -
夹畅丹参: =IF(A1或=IF(A1>1000,100+(A1-100)*0.5,IF(A1>100,A1*0.0005,1000))

武胜县19427499784: 各位大侠:请问在excel中,如果有很多的数据,如何实现下面的操作?如图 -
夹畅丹参: 公式只能对单元格内容进行计算,无法设置格式.这个你可以用格式里面的条件格式试一试

武胜县19427499784: 各位大侠,请问在excel中,我要在多组一大串数字中截取中间几个数字如何操作 -
夹畅丹参: =mid(选中你要截取数字所在的单元格,4,4)第一个四代表5858中的5的位置(从左边到右边查),第二个4代表提取的长度是4位数,即5858字符段长度是四位

武胜县19427499784: 请问各位大侠:在EXCEL中如何运用函数统计出4个班前二十名分别在各班的人数? -
夹畅丹参: 先用ADP法或者插件知把语数外整理成一维数据 然后透视一下就轻松解决(谁说一定要函数的!!道透视表功能就可以) EXCEL中如何运用函数统计出4个班前二十名分别在各班的人版数------你这句话就有歧义~~~既然是每个班级各自的前20,为何又有各权班的人数.....

武胜县19427499784: 有哪位大侠能在EXCEL中输入公式,就直接能得出答案,而且如果公式更改,答案就随之相应变化. -
夹畅丹参: CTRL+F3 在当前工作簿中的名称下框中输入一个名字(比如abc),引用位置输入 =EVALUATE(C2) 添加 确定 在D2中输入=abc 下拉填充.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网