LOOKUP+FIND根据客户全称查找简称

你好,我是刘卓。欢迎来到我的公号,excel函数解析。今天来分享下根据全称查找简称的方法,主要用到的函数是lookup+find。这个问题很多朋友在工作中也会经常遇到。

题目的要求是:根据A列的客户全称,在D列中查找简称,并返回E列对应的公司,结果如B列所示。如果找不到简称,还返回A列原来的客户全称。
以A2单元格为例说明,要在D列的简称中查找A2的简称,找到了“青龙”,返回E列对应的公司“宜兴市云水花木园艺场”,结果放在B2单元格中。
在B2单元格输入公式=IFNA(LOOKUP(,-FIND(D$2:D$7,A2),E$2:E$7),A2),向下填充,完成。
下面来解释下这个公式的意思,FIND(D$2:D$7,A2)这部分用find函数在A2单元格中查找D列这些简称的位置,如果能找到就返回一个数字,否则返回错误值。如下图C列所示。

接下来只要找到这个数字的位置,就找到了A2单元格对应简称的位置,就可以返回E列对应的公司了。那如何找到这个数字的位置呢?就要用到=LOOKUP(,-FIND(D$2:D$7,A2),E$2:E$7)这个公式了。

在find函数前面加个负号,让找到的数字变成负数。lookup第1参数省略就是0,也就是在第2参数中找0,它会找到比0小的最后一个负数,也就是-4的位置,最后返回第3参数对应的公司。如下图所示。
lookup函数的外面套个ifna,是因为有些客户全称在D列中找不到对应的简称,比如A7单元格的“无锡春来花木”,此时lookup返回#N/A的错误值。ifna的作用就是,如果找不到简称,就返回A列原来的客户全称。
(0)

相关推荐