ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 对MATCH的疑问!!!!!!!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2011-3-24 09:11 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖已被收录到知识树中,索引项:MATCH
对MATCH有点不明白的地方 请朋友们帮我看看 问题在附件 谢谢

[ 本帖最后由 ykqrs 于 2011-3-24 09:34 编辑 ]

Book1.rar

1.83 KB, 下载次数: 146

TA的精华主题

TA的得分主题

发表于 2011-3-24 09:25 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
match有第三个参数
语法

MATCH(lookup_value,lookup_array,match_type)

Lookup_value     为需要在数据表中查找的数值。

Lookup_value 为需要在 Look_array 中查找的数值。例如,如果要在电话簿中查找某人的电话号码,则应该将姓名作为查找值,但实际上需要的是电话号码。
Lookup_value 可以为数值(数字、文本或逻辑值)或对数字、文本或逻辑值的单元格引用。
Lookup_array     可能包含所要查找的数值的连续单元格区域。Lookup_array 应为数组或数组引用。

Match_type     为数字 -1、0 或 1。Match-type 指明 Microsoft Excel 如何在 lookup_array 中查找 lookup_value。

如果 match_type 为 1,函数 MATCH 查找小于或等于 lookup_value 的最大数值。Lookup_array 必须按升序排列:...、-2、-1、0、1、2、...、A-Z、FALSE、TRUE。
如果 match_type 为 0,函数 MATCH 查找等于 lookup_value 的第一个数值。Lookup_array 可以按任何顺序排列。
如果 match_type 为 -1,函数 MATCH 查找大于或等于 lookup_value 的最小数值。Lookup_array 必须按降序排列:TRUE、FALSE、Z-A、...、2、1、0、-1、-2、...,等等。
如果省略 match_type,则假设为 1。
你的公式省略第3参数,默认为1,因此a1:a9必须先按升序排序才能得出正确结果来

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-3-24 09:32 | 显示全部楼层

回复 2楼 jyhxr 的帖子

谢谢 但你把A8的5改一个其他的数又能返回9 这又怎么解释

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-3-24 09:54 | 显示全部楼层
原帖由 jyhxr 于 2011-3-24 09:25 发表
match有第三个参数
语法

MATCH(lookup_value,lookup_array,match_type)

Lookup_value     为需要在数据表中查找的数值。

Lookup_value 为需要在 Look_array 中查找的数值。例如,如果要在电话簿中查找某人 ...

哦 我明白了 A-Z、FALSE、TRUE
查找第一个FALSE后的TRUE 是这样吗
做了几次试验还是和我想的不符合 哎

[ 本帖最后由 ykqrs 于 2011-3-24 10:17 编辑 ]

TA的精华主题

TA的得分主题

发表于 2011-3-24 10:27 | 显示全部楼层
1楼的公式,MATCH的第3参数省略,非精确匹配查找,应用的是二分法原理,与LOOKUP一样。请对照下帖动画流程走:http://club.excelhome.net/thread-509072-1-1.html

第2参数返回数组:{0;0;0;0;FALSE;0;0;FALSE;0}
总共9个posi,第一次找posi=5,即第5个是FALSE,数据类型TYPE与0不一致,因此流程图向左走、向下走,posi=5+1, 判断第6个数据类型与0一致,返回中间,一路向下走posi=6+1又再判断一次,向下向右,向下,返回posi=7。

TA的精华主题

TA的得分主题

发表于 2011-3-24 10:30 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
如果二分法流程图看不明白,实际上也没有什么关系。因为那个东西只是证实函数的原理,但应用上只有LOOKUP(2,1/())这种类似的“无中生有”式的查找【大值】,所以也没有必要记住流程图。

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-3-24 10:31 | 显示全部楼层
原帖由 gouweicao78 于 2011-3-24 10:27 发表
1楼的公式,MATCH的第3参数省略,非精确匹配查找,应用的是二分法原理,与LOOKUP一样。请对照下帖动画流程走:http://club.excelhome.net/thread-509072-1-1.html

第2参数返回数组:{0;0;0;0;FALSE;0;0;FALSE;0}
...

哦 谢谢!!!!!!!茅塞顿开

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-3-24 10:42 | 显示全部楼层
原帖由 gouweicao78 于 2011-3-24 10:30 发表
如果二分法流程图看不明白,实际上也没有什么关系。因为那个东西只是证实函数的原理,但应用上只有LOOKUP(2,1/())这种类似的“无中生有”式的查找【大值】,所以也没有必要记住流程图。

谢谢版主 =MATCH(1,0/(A1:A9<>5)) 搞定 再次感谢

TA的精华主题

TA的得分主题

发表于 2016-8-12 16:20 | 显示全部楼层
=MATCH(0,{0;0;0;0;FALSE;0;0;FALSE;0})
1.中位值是第一个FALSE,忽略,继续往下
2.0=查找值,继续往下,到第二个FALSE,不是0了,所以返回之前0的相对序号7
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

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

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

GMT+8, 2024-4-20 22:37 , Processed in 0.042829 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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