ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: FYBOX

[函数讨论系列9] Match(,0/()),match在乱序数据列中的查找原理

[复制链接]

TA的精华主题

TA的得分主题

发表于 2005-7-20 11:28 | 显示全部楼层
以下是引用apolloh在2005-7-20 10:49:08的发言:

如果不是这样,而按你的说法,30楼找到的是第一值不为空的单元格。

30楼的公式,用公式审核看看:(假定B1=5,D1=1,我缩小了公式的查找范围)

=MATCH(1,0/(A1:E1<>"")),其中(A1:E1<>""))的结果是:{FALSE,TRUE,FALSE,TRUE,FALSE}, 0/(A1:E1<>"")的结果是{#DIV/0!,0,#DIV/0!,0,#DIV/0!}也就是第二个数值和第4个数值0被查找,所以整个查找顺序是这样的:第一个跳过;第二个0,小于1,继续(但记住这个值),第三个跳过,第四个0,小于1(但记住这个值,并把前面记住的那个2取消),继续;第五个跳过……,如此,得到的结果就是4

为什么不是找出第一个不为空的值?我前面说了,先找等于的值,只要不等于,就继续找,而第一个不为空的值计算结果为0,比第一参数1要小,系统认为不满足公式条件,下面一个数一定比现在要大,所以继续找下去(注意我们是默认第三参数,这等于通知系统:下面的数一个比一个大。这也是查找到第一个等于的值就停止查找的原因)

TA的精华主题

TA的得分主题

发表于 2005-7-20 11:33 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
以下是引用apolloh在2005-7-20 11:26:55的发言:

情况复杂,总之,在乱序情况下,就算存在完全相等的值,lookup和match也不一定能准确找到。其应用的意义只在于当查找值大于列表中所有值时,用来查找最后一个值。

刚看到这个帖子。关键在于:我们看是乱序的,系统却认为是升序的,因为我们没有使用第三参数,也就是通知系统:我是升序的。

所以在正常查找的情况下,不要这样使用。chenjun在我的帖子[函数讨论8]里面的批注讲的很好。可参看。

TA的精华主题

TA的得分主题

发表于 2005-7-20 11:36 | 显示全部楼层
以下是引用apolloh在2005-7-20 11:33:52的发言: 呵呵,30楼MATCH(1,0/(A1:IU1<>"")) 公式是正确的,但讨论的实际是最早发现错误的MATCH(0,0/(A1:IU1<>"")) 公式的情况,按你的说法,第二个公式的结果应该是找到第一个0,也就是第2行了。
哦,我真没注意到这个。看来还有些问题了。当第一参数为0时,为什么查找出来也是4?不知道

TA的精华主题

TA的得分主题

发表于 2005-7-6 21:49 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
以下是引用apolloh在2005-7-6 21:33:03的发言:

嗯,对数组公式不能引用整列,确能引用整行,以前想当然了。

数组公式不能引用整列,过去是知道的(好像还是从chenjun的帖子里吧),这次我作的整行引用也是试验出来的。版主总结得好。

TA的精华主题

TA的得分主题

发表于 2005-7-6 20:17 | 显示全部楼层

公式可简化为:=MATCH(2,1/(1:1<>"")

这样可算到IV列。

还有,请教版主:“是除法的小数点浮点问题”这是什么意思?

[此贴子已经被作者于2005-7-6 20:29:58编辑过]

TA的精华主题

TA的得分主题

发表于 2005-7-6 13:35 | 显示全部楼层

明显的一个错误

=max((a1:a65535<>"")*row(a1:a65535))

TA的精华主题

TA的得分主题

发表于 2010-5-18 15:25 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2010-9-14 10:31 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2010-9-25 20:19 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-1-30 11:01 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-24 21:19 , Processed in 0.034070 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表