VLOOKUP函数实现1对多查找?

职场   教育   2024-11-24 23:12   江苏  

       


这是最近被问到的一个“难题”,每个人学习多个学科,如何通过VLOOKUP函数把他们的科目查询出来?


我看了一下,我告诉他这个问题呀,他不适合VLOOKUP函数


因为VLOOKUP函数只能返回首次满足条件的内容,这个是VLOOKUP的限制,设计如此~

=VLOOKUP(D2,A:B,2,)


 

双VLOOKUP处理


 

如果我们非要使用VLOOKUP来处理,那么可以通过辅助列的方法来处理!


▍添加辅助列


这个辅助列是什么意思,其实就是循环或者递归的一个思路,我们把下面的结果引用过来和当前值拼接到一起,比如第二行,一开始C3是没有值的,但是随着我们下拉公式,直到最后一个有值开始,上面也依次有值,逐层往上~!递归形式,类似老和尚讲故事~



=B2&IFERROR(","&VLOOKUP(A2,A3:$C21,3,),"")



C列的结果就是我们想要的结果,再一次VLOOKUP获取到首个即可!


=VLOOKUP(E2,A:C,3,)


但是真的这个非常麻烦,而且新手基本很难听懂,涉及到循环递归啥的~那推荐使用啥呢?


其实现在有FILTER函数和TEXTJOIN函数了,这种问题就非常简单了

 

FILTER+TEXTJOIN



非常的简洁易懂,FILTER筛选对应姓名的科目,结果是一个数组,TEXTJOIN第一个参数指定合并的间隔符,第二参数默认即可,第三参数把FILTER筛选出来的科目放进去即可得到合并后的文本


=TEXTJOIN(",",,FILTER($B$2:$B$21,$A$2:$A$21=E2))



关键是这两个函数WPS都可以使用


打开你的WPS快去试试吧!



新手阶段我们认识的函数比较少,思路经常困在一个函数上,随着我们的学习和积累,你会发现一个问题其实解法非常多,不要一个函数上耗死~


怎么样,你学会了吗?


有帮助,还请多多“点赞”和“分享”!这是对小编最大的认可!



Excel办公实战
分享Excel及WPS函数、技巧、VBA、PBI、JSA等办公技能。助你轻松实现办公自动化!易办公◎早下班!
 最新文章