一对多匹配,Vlookup落后,Filter公式秒杀

志课程 2024-07-19 17:17:22

举个工作中的例子,左边是各部门的员工信息,一个部门有多名员工姓名

需要根据部门信息,把所有的员工信息给匹配出来:

今天我们介绍两种方法来解决这个问题,分别是老版本的VLOOKUP和新版本的FILTER

1、老版本VLOOKUP公式

如果我们直接使用VLOOKUP公式,它只会查找匹配出第一符合的信息:

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

所以面对这种一对多匹配,如果不使用辅助列,我们需要使用的公式是:

=IFERROR(VLOOKUP($D2&COLUMN(A1),IF({1,0},$A$1:$A$100&COUNTIF(INDIRECT("A1:A"&ROW($1:$100)),$D2),$B$1:$B$100),2,0),"")

它的原理,其实就是构建了一个虚拟的辅助列,分别是每个部门出现的次数

如果学不会的话,可以保存公式,下次碰到直接套用

2、新版本FILTER

新版本FILTER公式理解起来非常简单

它就是公式版的筛选

如果我们想要得到市场部的所有员工

我们没学习公式之前,我们都是对A列部门进行筛选,选择市场部这个值

然后对应B列的结果就是我们想要的:

而FILTER的公式使用逻辑也是这样

如果我们输入的公式是:

=FILTER(B:B,A:A="市场部")

它就是筛选出B列的结果,条件是A列里面的值是市场部

所以如果我们想匹配出市场部的信息,只需要将这个结果进行转置即可

在E2单元格中输入的公式是:

=TOROW(FILTER(B:B,A:A=D2))

它就得到了市场部的所有员工信息

最后,只需要将E2的公式向下填充,就得到了所有的结果:

对比VLOOKUP公式,非常简单好用,又容易理解

动手试试吧!

1 阅读:11

志课程

简介:感谢大家的关注