MATCH函数擅长确定要查找的数据在列表中的相对位置。其基本的使用如下图1所示:
MATCH函数擅长确定要查找的数据在列表中的相对位置。其基本的使用如下图1所示:
图1
下面解MATCH函数的一些使用技巧,来展示MATCH函数之美。
技巧1:查找到某列中最后一个数据所在的相对位置
要找到某列中(该列中间有单元格为空)最后一个数据所在的相对位置,关键是要使查找值大于单元格区域中的任意值,并且使用近似匹配,即MATCH函数的第3个参数为空。
如下图2所示,使用公式:
=MATCH(9.99999999999999E+307,A:A)
或公式:
=MATCH(2,1/(A:A<>””))
找到列A中最后一个数字所在的行为8,公式中所使用的查找值均大于所要查找的值。
图2
同理,如图3所示,要找到列A中最后一个字符串所在的行,使用公式:
=MATCH(“做”,A:A)
图3
技巧2:在MATCH函数中查找含有通配符的数据
MATCH函数中可以使用通配符来查找:
?(问号)匹配任何一个字符
*(星号)匹配0个或多个字符
如果想要查找的字符串中含有真正的问号或星号,则在该字符前输入破折号(~)。如图4所示,要查找列A中的数据“*Excel”所在的位置,使用公式:
=MATCH(“~”&C2,A2:A9,0)
使用~使公式将字符串中的*号作为一个字符而不是通配符。
图4
技巧3:找到列表中每个数据第一次出现的位置
如果列表中存在相同的数据,那么如何获得每个不同的数据首次出现的位置呢?如图5所示的工作表,使用数组公式获取列表中每个数据第一次出现的位置:
=MATCH($B$2:$B$10,$B$2:$B$10,0)
图5
该公式与其他函数相结合,可用于获取列表中的不重复值。
示例
查找某班学生在成绩表中的位置
如图6所示的工作表,在B2:D16中列出了三年级各班学生的成绩,要求出单元格H2中指定的班级及单元格H3中指定的学生在成绩表中的位置。
单元格H4中的公式为:
=MATCH(H2&H3,B3:B16&C3:C16,0)
这是一个数组公式,输入完后要同时按下Ctrl+Shift+Enter键。
图6
结语
MATCH函数主要用来查找数据在列表中的位置,然后使用其他函数如INDEX函数来获取该位置的数据。除了通常的获取位置的用法外,本文主要介绍了一些特殊用法,并给出了一个组合查找的示例。