ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > 函数与公式 > 查找最后间隔并返回间距(修正)

查找最后间隔并返回间距(修正)

作者:绿色风 分类: 时间:2022-08-18 浏览:118
楼主
biaotiger1
如果最后一个单元格不为1,则返回最后一个1到A24的间距,如果最后一个单元格不为1,则返回最后一个1到A24的间距


代码2虽然短,但缺陷也是致命的,如果A24=1将返回错误值,另外,如果A1:A24区域中没有1,也将返回错误值


代码1
  1. =1/LOOKUP(1,1/FREQUENCY(IF($A$1:$A$24="",ROW(1:24)),IF($A$1:$A$24=1,ROW(1:24))))
代码2
  1. =MATCH(1,SUBTOTAL(9,OFFSET(A24,,,-ROW(1:23),)),)-1

如何查找最后间隔的间距.rar


 

→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→-

作为该帖的原型文件,我已上传5楼

对该题目的要求重新说明下
如果最后一个单元格不为1,则返回最后一个1到A24的间距,如果最后一个单元格为1,则返回最后一个1到A23的间距

对该题目的做法修正如下
将代码1中的公式更改如下
  1. =1/LOOKUP(2,1/FREQUENCY(IF($A$1:$A$24="",ROW(1:24)),IF($A$1:$A$24=1,ROW(1:24))))
修正原因:
lookup如果返回最后一个数值,应该通过lookup(1,0/数据区域)或lookup(2,1/数据区域而得到),确保查找的值(前面公式中蓝色的1、2大于后面构造出来的数组的最大值)

同时因为问题过度简化(实际上变成另外一道题目啦 呵呵),增加非数组公式如下
  1. =IF(COUNT(A1:A23),24-LOOKUP(2,1/A1:A23,ROW(1:23))-(A24=1),24-(A24=1))
  1. =IF(COUNT(A1:A23),IF(MATCH(1,A1:A23),24-MATCH(2,A1:A23)-(A24=1),23),24-(A24=1))
→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→-

下午又因为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)

要避免错误,加个判断:
  1. =24-IF(COUNT(A1:A23),MATCH(2,A1:A23)+1)
5楼
biaotiger1
哈,这贴让草版这么一分解,遍地尸首啦。呵呵

收拾下残局先
来补充个原型文件,一楼公式当时用于这份文件中,而且是多列的。看来我简化过度,丢失细节啦

定义名称X
  1. =OFFSET(Sheet1!$A$1,,COLUMN()-1,ROW()-1,)

则A27
  1. =1/LOOKUP(2,1/FREQUENCY(IF(X>=10,ROW(X)),IF(X<10,ROW(X))))
原型文件.JPG
 

原型文件.rar

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap