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

来源:壹人事 阅读量:3080 时间:2021-02-01
社群 HR社群

在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了解更多,也可以点击官网顶部【注册】,体验壹人事的各项产品。


产品与服务 产品与服务 更多 >
热门HR资料下载

热门HR资料下载

更多 >
热门总榜

热门总榜

换一换
1
江苏2025年社会保险费缴费工资调整申报热点问答
2
徐州市就业政策集锦——失业保险类
3
杭州:企业职工养老金申领指南!请收好
4
经济补偿标准太低 竞业限制协议有效吗?
5
北京:2025住房公积金年度缴存基数申报常见问题解答
6
一地官宣!这笔钱直接发职工本人
7
企业与试用期员工解除劳动合同,需支付经济补偿吗?
8
江西省住房公积金“既提又贷”政策问答:购房提取、账户余额每月对冲还款…
9
竞业限制适用于哪些员工?
10
员工受指派参加其他公司团建受伤算工伤吗?
关闭