去壹人事APP浏览
加入HR交流社群,
50万HR人在这里

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

来源:壹人事 阅读量:2369 时间:2021-02-01

在Excel中,VLOOKUP函数应该是使用率最高查询函数了。但是它只能返回满足条件的第一条记录,然后而时候我们面对的是一对多的查询问题。


 “一对多”查询问题介绍

所谓的一对多,就是查询条件是一个,返回结果是多条记录,如下图,B列中等于H2中设置的查询班级有几条,就在J:K的返回区域中返回几条记录的信息。


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



解决办法

步骤一:重新构造数据表

要用VLOOKUP函数解决这一问题,需要对数据表进行加工,让它符合VLOOKUP的查询需求。说白了,就是在数据表中添加一列保存可供查询的、不重复数据的列,可以用COUNTIF函数来辅助解决,如:=B2&COUNTIF(B$2:B2,B2)



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



公式解释:公式COUNTIF(B$2:B2,B2)用于统计B列中每个班级的出现次数,将出现次数与原有的班级名称连接后,得到的就是一列不重复的班级名称。


步骤二:编写查询数据的公式

在返回区域中设置查询公式,如:=VLOOKUP($H$2&ROW(A1),$A:$F,COLUMN(C:C),)

然后向右向下填充公式,即可得到查询所得的结果。


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


公式解释:

$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),),"")


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



*文章来源于互联网资讯,由壹人事整理,如有侵权,请联系删除。





壹人事目前可提供企业社保代缴社保账户托管电子工资条薪资代发节日福利员工花名册智能入职员工商保等一站式人力资源服务。咨询壹人事“在线客服”或致电400-189-1900了解更多,也可以点击官网顶部【注册】,体验壹人事的各项产品。

热门总榜

热门总榜

换一换
关闭