楼主 biaotiger1 |
如果最后一个单元格不为1,则返回最后一个1到A24的间距,如果最后一个单元格不为1,则返回最后一个1到A24的间距 代码2虽然短,但缺陷也是致命的,如果A24=1将返回错误值,另外,如果A1:A24区域中没有1,也将返回错误值 代码1
如何查找最后间隔的间距.rar →→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→- 作为该帖的原型文件,我已上传5楼 对该题目的要求重新说明下 如果最后一个单元格不为1,则返回最后一个1到A24的间距,如果最后一个单元格为1,则返回最后一个1到A23的间距 对该题目的做法修正如下 将代码1中的公式更改如下
lookup如果返回最后一个数值,应该通过lookup(1,0/数据区域)或lookup(2,1/数据区域而得到),确保查找的值(前面公式中蓝色的1、2大于后面构造出来的数组的最大值) 同时因为问题过度简化(实际上变成另外一道题目啦 呵呵),增加非数组公式如下
下午又因为H1N1开回去了,搞得这帖子编辑了几乎一个下午 也不知道这样是否说清楚了没有,或者还有什么问题? 希望各位高手继续提出宝贵的意见 也希望草版继续关注该贴 在此真诚地谢谢草版,今天得到草版的指点,很有收获,不单单是本帖,不单单是函数、不单单是EXCEL |
2楼 biaotiger1 |
将公式更改为如下,可避免第一种错误 =MATCH(1,SUBTOTAL(9,OFFSET(A24,,,-ROW(1:24)+1,)),)-2 |
3楼 gouweicao78 |
问题: 1、“如果最后一个单元格不为1,则返回最后一个1到A24的间距,如果最后一个单元格不为1,则返回最后一个1到A24的间距” 重复干什么?最后一个单元格——这个说法不妥,要说A1:A24的最后一个单元格就是A24,而楼主似乎想说的是最有一个不为空的单元格。 2、“A1:A24固定为数据区域,要求返回最后两个1之间的间距”——这个功能没有实现,上面的公式得到的是最后一个1到A24的间距。 3、不知道这个题目的原型是什么,总不能没事找事做这么一个1、空文本的东西吧,建议给出应用的原型。 |
4楼 gouweicao78 |
解法1,LOOKUP(1,1/(条件)……这种解法是错误的! LOOKUP的第1参数与第2参数有相等的可能,而且,是“多个”可能,根据二分法流程图,Lookup得到的不是“最后一个”记录值。 因此,这种解法必须是LOOKUP(1,0/条件……或者LOOKUP(2,1/条件,确保第1参数永远大于第2参数。 如果数据都是1或"",那么可以用 =23-MATCH(2,A1:A23) 要避免错误,加个判断:
|
5楼 biaotiger1 |
哈,这贴让草版这么一分解,遍地尸首啦。呵呵 收拾下残局先 来补充个原型文件,一楼公式当时用于这份文件中,而且是多列的。看来我简化过度,丢失细节啦 定义名称X
则A27
原型文件.rar |