掌握excel固定单元格技巧,让数据管理更高效
677
2022-10-19
MATCH函数
MATCH函数返回指定值在数组中的位置,如果在数组中没有找到该值则返回#N/A。数组可以已经排序或没有排序,并且MATCH函数不区分大小写。
什么情况下使用MATCH函数?
MATCH函数返回指定值在数组中的位置,其结果可以被其他函数使用,例如INDEX函数或VLOOKUP函数。例如:
在未经排序的列表中找到数据项的位置
和CHOOSE一起使用获取学生成绩
和VLOOKUP一起使用来灵活选择列
和INDEX一起使用来显示获胜者的姓名
MATCH函数语法
MATCH函数的语法如下:
· MATCH(lookup_value,lookup_array,[match_type])
lookup_value可以是文本、数值或逻辑值(是要查找的值)
lookup_array是数组或数组引用(在单行或列中的连续单元格)
match_type可以是-1, 0或1。如果忽略,则默认为1 (0:查找第一个与lookup_value精确匹配的值,lookup_array可采用任何顺序;1:查找小于或等于lookup_value的最大值,lookup_array必须按升序排列;-1:查找大于或等于lookup_value的最小值,lookup_array必须按降序排列。)
MATCH陷阱
MATCH函数返回所查找项的位置,而不是值。如果需要获取值,那么要与其他函数,如INDEX,一起使用。
示例1:在未排序的列表中查找数据项
对于未排序的列表,可以使用0作为match_type参数,以查找完全匹配的值。如果查找文本并使用0作为参数,那么可以在查找值中包括通配符(?号用于匹配任何一个字符,*号用于匹配任意多个字符)。
本例中,可以输入月名或带有通配符的部分名字,查找列表中该月的位置。
=MATCH(D2,B3:B7,0)
可以输入数组作为lookup_array参数来代替数组引用。如下面的公式所示,单元格D5中输入要查找的月名,在MATCH函数的第二个参数中输入3个月份名。如果在单元格D5中输入的最后一个月名是Oct,那么结果将是#N/A。
=MATCH(D5,{“Jan”,”Feb”,”Mar”},0)
示例2: 将学生成绩修改为字母
本例中,与CHOOSE函数一起来获取以字母表示的成绩。match_type是-1,因为成绩以降序排列。
当参数match_type是-1时,结果为大于或等于查找值的最小值。本例中,查找值是54,不在成绩列表中,因此返回60所在的位置。因为60在成绩列表中的位置是4,所以在CHOOSE函数选项中的第4个值是结果,即单元格C6,其值为D。
=CHOOSE(MATCH(B9,B3:B7,-1),C3,C4,C5,C6,C7)
示例3: 在VLOOKUP函数中创建灵活的列选择
要使VLOOKUP公式更灵活,可以使用MATCH函数来查找列号,而不是在公式中硬编码。本例中,用户可以在单元格H1中选择区域,作为VLOOKUP函数的值。然后,可以在单元格H2中选择月份,MATCH函数返回该月份所在的列。
=VLOOKUP(H1,$B$2:$E$5,MATCH(H2,B1:E1,0),FALSE)
示例4:与INDEX函数一起查找最接近的匹配项
MATCH函数也可以和INDEX函数一起使用。本例中,MATCH函数用于查找最接近正确数值的猜测。
ABS函数返回每项猜测和正确数值的绝对差。
MIN函数查找最小的差值。
MATCH函数在差值列表中查找最小的差值。如果有多个相同的值,那么返回第一个值。
INDEX函数返回名字列表中该位置的名字。
=INDEX(B2:B5,MATCH(MIN(ABS(C2:C5-F1)),ABS(C2:C5-F1),0))
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。