Excel函数应用:VLOOKUP与FILTER公式实现一对多查找

同学们,今天来学习Vlookup函数和Filter函数,它们能帮助我们轻松实现一对多的数据查找与匹配。举个例子,左边是学生姓名和班级,现在需要根据班级条件来查找并匹配出相应的学生姓名。

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

打开网易新闻 查看更多图片

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

方法一:VLOOKUP函数公式

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

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

注意:第一个C2单元格需要固定引用

解释:COUNTIFS函数会计算每个班级在辅助列中的累计出现次数,然后再(&)连接C2单元格内容,第1次出现的时候,就是1一班,第2次出现,就变成了2一班。这样辅助列就变成了唯一列

打开网易新闻 查看更多图片

如下图所示,然后在F2单元格输入公式:=VLOOKUP(COLUMN(A1)&$E2,$A:$B,2,0)

解释:这里的COLUMN(A1),COLUMN(A1)会随着单元格的拖动而自动返回对应的列号,其实就是数字1,然后向右填充公式的时候,就会自动变成2,依次类推;然后将其与班级连接,生成与辅助列对应的内容1一班;

第二个参数就是查找的区域A列与B列;第三个参数:查找第2列的内容,所以填2,最后填0,表示精确匹配。

打开网易新闻 查看更多图片

公式填充后,产生了错误值#N/A,为了屏蔽错误值,如下图所示,我们需要再添加IFERROR公式:

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

打开网易新闻 查看更多图片

解释:IFERROR函数:如果公式的计算结果为错误,则返回您指定的值;否则将返回公式的结果。

方法二: 使用Filter函数公式(仅适用于较新版本)

它的用法就是筛选,也就是说: 基于定义的条件筛选区域内的数据,当我们想筛选出一班的人员信息时,我们是对B列进行筛选,筛选的条件是一班,筛选的结果是A列的信息。

打开网易新闻 查看更多图片

该函数的用法:

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

所以这里呢,如下图所示,我们只需要输入公式:=FILTER(A:A,B:B=D2)就可以了,但是它是竖向排列的:

打开网易新闻 查看更多图片

需要我们加一个转置函数:=TRANSPOSE(FILTER(A:A,B:B=D2)),结果如下图所示:

打开网易新闻 查看更多图片

解释:TRANSPOSE函数可返回转置单元格区域,即将行单元格区域转置成列单元格区域,反之亦然。

如需查找匹配其他班级的数据,在D3单元格和D4单元格分别输入“二班”和“三班”,再将公式向下填充,就得到了所有结果

打开网易新闻 查看更多图片

希望今天的分享能帮助大家更好地理解和运用VLOOKUPFILTER函数,提高Excel数据处理效率!