Excel一对多查找匹配,Vlookup和Filter公式大PK

志课程 2024-03-27 08:58:26

举个工作中的例子,左边是员工姓名和部门数据,现在需要根据部门条件,把员工姓名查找匹配出来

同一个部门,它能查找匹配到多条结果,如下所示:

对于一对多查询匹配问题,有2种解决方法,分别是VLOOKUP公式和FILTER函数公式(在新版本中才有)

1、VLOOKUP公式

VLOOKUP公式兼容性强,每个版本都可以使用,过程也很简单,我们在数据的最前面插入一个辅助列,输入的公式是:

=COUNTIFS($C$2:C2,C2)&C2

注意第一个C2需要固定引用

这个公式就是将部门列,进行累计计数,然后连接文本本身

所以从上至下,第1次出现的时候,就是1市场部,第2次出现,就变成了2市场部

这样辅助列就变成了唯一列

然后我们使用公式:

=VLOOKUP(COLUMN(A1)&$E2,$A:$B,2,0)

这里的COLUMN(A1),其实就是数字1,为了向右拉的时候,自动变成2

查找值,固定列标,数据源固定引用,向右填充,得到所有的结果

为了屏蔽错误值,我们需要再添加IFERROR公式:

=IFERROR(VLOOKUP(COLUMN(A1)&$E2,$A:$B,2,0),"")

方法二: 使用Filter函数公式

这个用法,需要最新版本的Excel,老版本是没有这个函数公式的

它的用法就是筛选

当我们想筛选出市场部的员工信息时

我们是对B列进行筛选,筛选的条件是市场部

筛选的结果是A列的信息

而FILTER函数公式的用法,正是如此,使用用法

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

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

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

但是它是竖向排列的

我们加一个转置函数:

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

如果需要查找匹配其它部门的数据,只需要将公式向下填充,就得到了所有的结果:

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

4 阅读:324

志课程

简介:感谢大家的关注