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个或多个字符
VLOOKUP函数的秘密
VLOOKUP函数应该是最常用的查找函数之一了。使用VLOOKUP函数,在列表的第一列中查找值,返回该表指定列的对应行中的值。 VLOOKUP函数有4个参数,其中第4个参数为可选的参数,如果设置该参数为TRUE或省略,则列表的第一列必须按升序排列。 除了常规的查找用法外,下面介绍两个VLOOKUP函数的秘密。 秘
如果想要查找的字符串中含有真正的问号或星号,则在该字符前输入破折号(~)。如图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函数来获取该位置的数据。除了通常的获取位置的用法外,本文主要介绍了一些特殊用法,并给出了一个组合查找的示例。
LOOKUP函数的特别之处
LOOKUP函数是一个查找函数,可以从单行或单列区域或者从一个数组返回值。LOOKUP函数具有两种语法形式:向量形式和数组形式。 数组形式是为了保证其与其他电子表格产品的兼容,因此,在这种情形下,应尽量使用更为便捷的VLOOKUP函数或HLOOKUP函数。 LOOKUP函数之美 LOOKUP函数有一些特别之处,正