仅需三步,用VLOOKUP函数就能解决一对多查询问题!

在Excel中,VLOOKUP函数应该是使用率最高查询函数了。但是它只能返回满足条件的第一条记录,然后而时候我们面对的是一对多的查询问题。
“一对多”查询问题介绍
所谓的一对多,就是查询条件是一个,返回结果是多条记录,如下图,B列中等于H2中设置的查询班级有几条,就在J:K的返回区域中返回几条记录的信息。
解决办法
步骤一:重新构造数据表
要用VLOOKUP函数解决这一问题,需要对数据表进行加工,让它符合VLOOKUP的查询需求。说白了,就是在数据表中添加一列保存可供查询的、不重复数据的列,可以用COUNTIF函数来辅助解决,如:=B2&COUNTIF(B$2:B2,B2)
公式解释:公式COUNTIF(B$2:B2,B2)用于统计B列中每个班级的出现次数,将出现次数与原有的班级名称连接后,得到的就是一列不重复的班级名称。
步骤二:编写查询数据的公式
在返回区域中设置查询公式,如:=VLOOKUP($H$2&ROW(A1),$A:$F,COLUMN(C:C),)
然后向右向下填充公式,即可得到查询所得的结果。
公式解释:
$H$2&ROW(A1) 用于构造查询的值(原有班级名+序号),其中ROW(A1)在向下填充时,会得到2、3、4之类的序号,保证公式能查询其他的班级和序号的组合
COLUMN(C:C)用于构造函数返回值列序号,方便向右填充时,能返回数据表中不同列中的数据。
步骤三:修正公式可能返回的#N/A错误值。
当数据表中不存在要查找值的时候,VLOOKUP函数就会返回#N/A错误,可以使用IFNA函数进行处理,如:
=IFNA(VLOOKUP($H$2&ROW(A1),$A:$F,COLUMN(C:C),),"")
*文章来源于互联网资讯,由壹人事整理,如有侵权,请联系删除。