读者的问题:我这个用MATCH函数定位,为什么会出现错误值呢?

      

B2单元格的数据是一个文本字符串,找某个字符在总字符串中的位置,要用FIND函数。


那么,什么情况下可以用MATCH函数定位呢?下面我们一起来看几个例子。


1.我们要找“卢神”在人海中的位置,不需要“众里寻他千百度”,只需要“GPS定位系统”MATCH函数就可以了。


在D2单元格输入公式,按Enter结束。

=MATCH(C2,A2:A10,0)


原理说明:查找值为C2,查找区域为A2:A10,查找模式为0。


语法如下:

=MATCH(查找值,查找区域,查找模式)


查找区域必须为单行或单列,查找模式为0代表精确查找,查找模式为1代表近似查找,大部分情况下是用精确查找。


2.你能在A列中找到不加班的成员吗?


可能你会想到不少方法,如COUNTIF函数、VLOOKUP函数等等,这里用MATCH函数也很简单。


Step 01 确定A列在D列中的位置,在B2单元格输入公式,并向下复制。

=MATCH(A2,$D$2:$D$7,0)


Step 02 使用ISNUMBER函数,判断MATCH函数是否返回数字,如果是数字就返回TRUE,否则就返回FALSE。

=ISNUMBER(MATCH(A2,$D$2:$D$7,0))



Step 03 再用IF函数判断,结果就“水落石出”了。

=IF(ISNUMBER(MATCH(A2,$D$2:$D$7,0)),"是","否")


3.在查找数据时,我们首先会想到VLOOKUP函数。输入公式,按Enter结束。

=VLOOKUP(A2,D:E,2,0)


但我们却发现出错了,这是为什么?


VLOOKUP函数在查找时,查找值对应的区域必须在首列,现在,姓名在区域D:E的第二列,也就难怪出错了。


反向查找对VLOOKUP函数是难题,但对INDEX函数和MATCH函数这对“神雕侠侣”来说却不难。在B2单元格输入公式,按Enter结束,并向下填充公式。

=INDEX(D:D,MATCH(A2,E:E,0))



眼尖的小伙伴可能发现了,像张三的工号就出现了错误值#N/A,这又是怎么回事?


原因是在对应表中没有此人。只要在原公式外面再嵌套一个容错函数IFERROR函数就可以屏蔽错误,错误时返回“无此人”。

=IFERROR(INDEX(D:D,MATCH(A2,E:E,0)),"无此人")


作者:卢子,清华畅销书作者;个人公众号:Excel不加班(ID:Excelbujiaban)