ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[分享] 关于MATCH函数第3参数为-1时的查找策略( 在cleverzhzhf学导老师指导下完成)

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-8-8 15:59 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖已被收录到知识树中,索引项:MATCH
本帖最后由 e表格学习 于 2016-8-8 16:01 编辑
ZhouFfett 发表于 2016-8-8 14:17
另外要纠正一下,运用二分法的应该是近似匹配方式,而不是模糊查找。
模糊查找是指精确匹配方式下、对文本 ...


"模糊查找是指精确匹配方式下、对文本值使用通配符的查找"。这个说法是严谨的.您说得对!错误的说法说习惯了,必须得改过来,呵呵.

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-8-8 16:11 | 显示全部楼层
ZhouFfett 发表于 2016-8-8 14:23
还有,LOOKUP仅支持升序近似匹配。
之前很多人以为只有LOOKUP才用二分法查找,所以以为LOOKUP是一个很高效 ...

前面好理解\接受."2"不好理解.我认为,生成内存数组的过程不能计入LOOKUP过程.如果效率上有差异,应该是内存数组与单元格区域上的差异.
我还认为,在LOOKUP的计算中,内存数组比单元格区域更快,因为省去了区域转化为内存的过程.

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-8-8 16:17 | 显示全部楼层
天上的小云云 发表于 2016-8-8 11:41
二分法的高端是有些讲师级别的都无法很好解释的,更何况菜鸟了。
方版的帖子只是说明了LOOKUP的二分法查 ...

我希望"严谨",更希望能够相对容易地被菜鸟们理解\接受.方版欠缺的主要是后者.(个人理解,不代表民意,呵呵)

TA的精华主题

TA的得分主题

发表于 2016-8-8 17:23 | 显示全部楼层
zhjlgaojuan 发表于 2016-8-8 10:12
个人觉得,研究这个二分法没什么意义吧?
函数要求升序或者降序,你偏偏要杂序,你就是把这个二分法研究得再深 ...

在乱序的情况下查找一个足够大的数字或文本,会返回最后一个数字或字符,这不是利用吗?

TA的精华主题

TA的得分主题

发表于 2016-8-10 13:41 | 显示全部楼层
纠错:
1、二分法,是数据查找中的一种查找策略,不分升序二分和降序二分,因为只有一个策略。
2、Match在第3个参数是-1的时候,不是二分法,是执行的遍历查找,从头开始查找第一个大于或等于 lookup_value 的最小值。不管你的后面的数据是什么样子,找到第一个之后,便结束查找。它的查找策略与第3参数为0的精确匹配是一样的。

TA的精华主题

TA的得分主题

发表于 2016-8-10 14:42 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
cleverzhzhf 发表于 2016-8-10 13:41
纠错:
1、二分法,是数据查找中的一种查找策略,不分升序二分和降序二分,因为只有一个策略。
2、Match ...

以测试结果为准吧,经得起测试的才是真理。
QQ图片20160810143948.png

对MATCH降序匹配的测试.7z

7 KB, 下载次数: 11

TA的精华主题

TA的得分主题

发表于 2016-8-10 14:51 | 显示全部楼层
图片中第(2)点的F1、F2,应该是D4、D5。
初时公式是写在F1、F2的,后来为了在结果后面把公式列出来,就改了一下公式的位置。忘了改文字

TA的精华主题

TA的得分主题

发表于 2016-8-10 14:51 | 显示全部楼层
ZhouFfett 发表于 2016-8-10 14:42
以测试结果为准吧,经得起测试的才是真理。

并不是说,只要是模糊查找就叫做二分法。你需要先明白什么是二分法,从中间点开始验证,然后做决策的方案。

对于你的案例解释,把B2单元格换成数字3,看看计算结果,就能验证你的结论错误。

评分

2

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-8-10 14:52 | 显示全部楼层
本帖最后由 e表格学习 于 2016-8-10 15:16 编辑
cleverzhzhf 发表于 2016-8-10 13:41
纠错:
1、二分法,是数据查找中的一种查找策略,不分升序二分和降序二分,因为只有一个策略。
2、Match ...


翟老师伟大!!!!!!!!!!
我这几天一直都在郁闷中呢----只要一想到-1查找的种种怪像!!!,因为深信(实际是主观臆测了,因为没有任何权威\地方说-1是二分法)-1的二分法查找,又发现很多似是而非的地方(比如,既然"与升序1查找相反",那么,-1查找的连续重复值为什么不是最下面那一个,而是最上面那一个?没有道理嘛!)
-1是遍历查找,不是二分法查找!!!
拨云见日的翟老师,一语救命!!!解放区的天是明朗的天……(歌唱中……)

但是,忽然出现新的疑问:1.遍历查找为什么还要求降序排序?这岂非多此一举?2.降序排序,可以使用(降序)二分法以提高查找效率,可是,为什么有二分法而不用呢?3.无论是遍历,还是二分法,对于重复值,似应取最下方值(因为与升序相反,是降序!),可是为什么取最上方值呢?

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-8-10 14:56 | 显示全部楼层
本帖最后由 e表格学习 于 2016-8-10 15:01 编辑

不是翟老师发话,本鸟岂敢说-1是遍历!(近似查找受1查找二分法影响,根深蒂固).怨函数?怨菜鸟?
可是,还是有些"不安",既然-1是遍历查找,那么,要求降序排序还有意义么???
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-4-19 19:38 , Processed in 0.044646 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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