Vlookup一对多太麻烦,新公式FILTER,太给力了!

志课程 2025-03-16 17:16:53

举个工作中的一对多查找匹配的例子:

我们左边的数据源是部门以及员工姓名,现在我们需要把每个部门下面所有的员工给列出来

因为每个部门都有多名员工,所以就是典型的一对多查找匹配问题:

在新版本函数公式出来之后,以前我们一直需要使用VLOOKUP公式来解决

1、Vlookup公式

在使用VLOOKUP公式之前,我们需要一个辅助列,在数据最前面插入一列

然后在A2单元格输入的公式是:

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

第一个B2固定引用,向下填充的时候,例如到了A4单元格,它计数区域就变成了B2:B4区域,看这个里面,市场部计数的话,就是第2次出现

就是把每个部门从上到下出现的次数放到了后面

然后再次进行一对多匹配的时候,我们只需要加个辅助行,第一行输入数字1,2,3

使用再使用公式=VLOOKUP($E3&F$1,$A:$C,3,0)

它其实就是分别匹配市场部1,市场部2,市场部3对应的结果,就得到了一对多匹配的结果了

VLOOKUP函数公式用来一对多查询匹配,还是偏复杂的

2、新公式FILTER

这个函数公式,它的原理,就是和筛选一样的

例如,当我们需要根据姓名,去查找匹配工资的时候

在我们学会函数公式之前,其实就是在B列里面,筛选,小乔的值,对应C列的结果

FILTER公式,只是把这一过程,公式化了,它的用法是:

=FILTER(筛选结果,筛选条件)

所以在这里,我们只需要输入的公式是:

=FILTER(C:C,B:B=E7)

筛选结果是C列,在B列里面,查找E7的结果

因为从姓名来筛选的时候,它只会出现一条结果,所以正好得到工资数据

如果说,我们筛选的部门,它会得到多条结果呢?

如果我们想得到姓名结果,在A列里面,筛选市场部

因为有两条数据,所以,当我们使用FILTER公式的时候,它也是有两个结果的:

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

因为有两个结果,一个单元格放不上,Excel会自动的竖向的存放在下面的单元格中

所以,如果我们想要横向的展示出来,就可以加一个转置公式了:

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

同时向下填充,得到了所有的结果

关于这个函数公式,你学会了么,动手试试吧!

0 阅读:0
志课程

志课程

感谢大家的关注