vlookup函数进行一对多查询

2020-11-06 11:36:44

Hello,大家好,今天跟大家分享一种比较简单的使用vlookup函数进行一对多查询的方法 ,话不多说我们开始把

还记得以前讲过的使用index+smalll+if+row函数进行一对多查询吗?很多人觉得很难理解

今天就跟大家分享一种借助辅助列使用vlookup函数进行多条件查找,比起使用index+smalll+if+row组合这个真是简单太多了

一、构建辅助列

如图,我们要查找1班的所有成员,我们在图中绿色填充区域设置公式为=(B2=$E$2)+A1并向下填充得到结果,

辅助列解释

E2的结果为1班且绝对引用,这样设置的结果是每当遇到1班的成员其函数结果都会加1,且1班的成员会在第一个,这个是什么意思呢,比如项羽在三个5区域中的第一个位置,而杨戬也是两个2区域的第一个位置,

二、设置公式

公式:IFERROR(VLOOKUP(ROW(A1),$A$2:$C$12,3,0),"")

公式解析

vlookup函的第一参数为row函数返回的行号,向下拖动时,row(A1)的值等于1,也就说是vlookup函数的第一参数为1,然后我们在辅助列中查找1的值,在第一列中1是重复值,当vlookup遇到重复值时,vlookup会返回它查找到的第一个参数,所以vlookup函数的会返回结果鲁班。

我们向下拖动,第一参数会变为ROW(A2),它的值是2,函数会在辅助列查找2,而2以上重复值,函数会返回查找到的第一个结果,也就是杨戬

以此类推

我们构建的辅助列中每个不同数值的第一个一定是我们的查找结果,然后又利用vlookup函数查找重复值的时候仅仅会返回查找到的第一个值,就能实现一对多查询的目的

关闭