举个工作中的实例,左边是各部门以及对应的员工信息
需要根据部门条件,匹配出所有的员工姓名,如右边的效果展示
![](http://image.uc.cn/s/wemedia/s/upload/2024/5c50dd8d2f864efd77d6c955c8701753.png)
我们用两种方法来解决它
分别是老办法VLOOKUP公式,以及新版本有的函数公式来解决
1、VLOOKUP公式首先,我们需要建立一个辅助列
然后输入的公式是:
=IFERROR(B2&"、"&VLOOKUP(A2,A3:$C$100,3,0),B2)
然后向下填充
![](http://image.uc.cn/s/wemedia/s/upload/2024/af265a86b39b42dd43639dee04cbafc3.png)
利用从下至上嵌套,错位查找匹配,就可以把每条姓名累加进来至第一条数据
![](http://image.uc.cn/s/wemedia/s/upload/2024/7fd49dadda987daa6d38274449ecf456.jpg)
然后我们再通过简单的VLOOKUP匹配公式,就可以得到:
=VLOOKUP(E2,A:C,3,0)
E2单元格,查找匹配A:C列
![](http://image.uc.cn/s/wemedia/s/upload/2024/c6b370e218b2117f46f3a58047ce7c76.png)
VLOOKUP公式相互嵌套理解起来,还是偏复杂的
在最新版本的Excel里面,出来了一个文本连接公式,TEXTJOIN
它的使用用法是:
=TEXTJOIN(字符,是否忽略空白,连接文本)
例如,当我们输入的公式是:
=TEXTJOIN("、",TRUE,A2:A4)
它可以将A2:A4单元格中的值,连接起来,第2参数是TRUE,会忽略空白值
![](http://image.uc.cn/s/wemedia/s/upload/2024/7a07ce31983c9707c5ecbda0a49519e1.png)
如果我们第2参数,填写的是FLASE,那就不会跳过空白单元格,显示的结果是:
诸葛亮、、花木兰
![](http://image.uc.cn/s/wemedia/s/upload/2024/580c30065c3e1875bff1bd4039890f79.png)
基于这个原理,我们首先,可以使用IF函数公式,将符合的部门提取出来
当我们输入公式是:
=IF(A:A=D2,B:B,"")
它就会只保留市场部的姓名,其它姓名都变成了空白
![](http://image.uc.cn/s/wemedia/s/upload/2024/8eef7c1b5f4f97d824a3a2bfcff0ab82.png)
然后我们再嵌套使用TEXTJOIN公式,就可以把数据连接在一起了
综合公式是:
=TEXTJOIN("、",TRUE,IF(A:A=D2,B:B,""))
![](http://image.uc.cn/s/wemedia/s/upload/2024/01ac8cd0a778413f363a1b0cc69f2997.png)
是不是简单多了。
关于这个小技巧,你学会了么?动手试试吧!