DC娱乐网

一对多查找,Vlookup不行,Filter公式秒杀

工作中,经常会遇到查找匹配的问题,如果只是一对一查找,我们使用VLOOKUP公式很快就能找到,但是,如果我们的数据源里面

工作中,经常会遇到查找匹配的问题,如果只是一对一查找,我们使用VLOOKUP公式很快就能找到,但是,如果我们的数据源里面有多条记录对应的时候,Vlookup公式,它不能查找出来所有的结果。

1、Vlookup的短板

如下所示,根据部门,查找匹配对应的员工数据

如果我们使用的公式是:

=VLOOKUP(E2,A:B,2,0)

数据源里面有两条数据,

它只会查找匹配出第一次出现的结果。

如果我们想要用VLOOKUP查找出多条结果,就必须建立辅助列:

然后输入的公式是:

=B2&COUNTIFS($B$2:B2,B2)

COUNTIFS函数第1参数是动态的数据范围,对B2来进行计数;

这样辅助列就连接了每个部门出现的次数,得到了唯一的数据列

然后我们想要查找出市场部所有的员工,就只需要分别查找匹配市场部1,市场部2,市场部3,市场部4对应的结果

所以,我们在G2单元格可以输入公式:

=VLOOKUP(F2&{1,2,3,4},A:C,3,0)

为了屏蔽错误值,我们可以再加个IFERROR公式,就可以屏蔽所有的错误值

虽然得到了我们想要的结果,但是这个过程,很复杂

2、Filter公式一对多

使用FILTER公式,就非常的简单了,也不需要辅助列

当我们输入公式:

=FILTER(B:B,A:A=E2)

给对B列的结果进行筛选,条件是A列里面找E2的内容。

因为符合条件的结果有4个员工,所以都会被查找出来。

4个单元格的值被自动溢出单元格,显示在下方4个位置。

它等价于,我们在A列进行筛选市场部,然后对应B列的结果。

然后我们希望这个结果横向展示,加一个转置公式即可:输入的公式是:

=TRANSPOSE(FILTER(B:B,A:A=E2))

然后向下填充就得到了所有的结果:

关于这个小技巧,你学会了么?动手试试吧!