MATCH函数擅长确定要在列表中找到的数据的相对位置。它的基本用途如下图1所示。
图1
这里有一些关于如何使用MATCH函数来展示MATCH函数之美的技巧。
技巧1:找到列中最后一个数据的相对位置。
要找到一列中最后一个数据的相对位置(列中间的单元格为空),关键是要使搜索值大于单元格区域中的任何值,并使用近似匹配(approximate MATCHing),即match函数的第三个参数为空。
如下图2所示,使用公式:
=MATCH(9.999999999999999e 307,A:A)
或公式:
=MATCH(2,1/(A:A " "))
找到A列最后一个数字所在的行为8,公式中使用的搜索值都大于要搜索的值。
图2。
类似地,如图3所示,要找到列a中最后一个字符串所在的行,请使用公式:
=MATCH ("do ",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(H2H3,B3:B16C3:C16,0)
这是一个数组公式。输入后同时按Ctrl+Shift+Enter。
图6
标签
MATCH函数主要用于查找数据在列表中的位置,然后使用INDEX函数等其他函数获取该位置的数据。除了获取位置的常用用法外,本文主要介绍了一些特殊用法,并给出了一个组合搜索的例子。