分享

Excel中的“GPS定位系统”函数

 Excel不加班 2019-12-27

读者的问题:我这个用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)),"无此人")

你想成为第2个清风徐来吗?

作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多