分享

你知道如何用VLOOKUP提取同一条件的多个结果吗?

 EXCEL应用之家 2021-11-11


送人玫瑰,手有余香,请将文章分享给更多朋友

动手操作是熟练掌握EXCEL的最快捷途径!

置顶公众号或者【设为星标】及时接收更新不迷路



小伙伴们好啊,大家都知道使用万金油函数组合和可以提取同一条件下的多个结果。只是,这个万金油公式书写起来相对要复杂一些,对于新接触函数的小伙伴们不是很好理解。

今天就向大家介绍一下,都有哪些方法可以快速提取同一条件下的多个结果。




01

在A列插入一列,输入公式“=COUNTIF($B$2:B2,$E$2)”并向下拖曳。



在单元格F2中输入公式“=IFERROR(VLOOKUP(ROW(A1),A:C,3,0),"")”,并向下拖曳。



这个公式是用向下拖曳单元格时不断增加的数字(ROW(A1))作为查找值来查找数据的。小伙伴们理解了吗?

效果是这个样子的。




02

MATCH函数站起来说,我也可以和V哥一起搞一下,看我的!



在单元格E2中输入公式“=IFERROR(VLOOKUP($D$2,OFFSET($A$1:$B$1,MATCH(E1,B:B,0),0,100),2,0),"")”,并向下拖曳即可。

思路:

  • MATCH函数返回单元格E1在B列中的位置

  • OFFSET函数根据MATCH函数返回的结果向下移动1行

  • VLOOKUP函数在单元格区域A2:B2为起始的100行区域中查找单元格D2,并返回人物名称

  • 当公式拖曳到单元格E3时,查找单元格E2(杨过)在B列中的位置,同时$A$1:$B$1向下移动14行,从第15行开始查找单元格D2,并返回结果“小龙女”

  • IFERROR函数屏蔽错误


03

我们放弃VLOOKUP函数,使用其它的函数组合,依旧可以提取正确结果。



在单元格E2中输入公式“=IFERROR(INDEX(B:B,MATCH(ROW(A1),COUNTIF(OFFSET($A$1,,,ROW($1:$20)),$D$2),)),"")”,三键回车并向下拖曳即可。

这个公式稍显有些复杂,不过多介绍了,有兴趣的小伙伴们可以私信我哦!


04

INDEX函数配合SMALL函数也可以提取正确结果。



在单元格E2中输入公式“=INDEX(B:B,SMALL(($A$2:$A$17<>$D$2)/1%%+ROW($2:$17),ROW(A1)))&""”,三键回车并向下拖曳。

思路:

  • ($A$2:$A$17<>$D$2)/1%%+ROW($2:$17)部分,让不符合条件的数据行扩大一万倍,同时在加上对应的行号

  • 利用SMALL函数提取第1小、第2小等等

  • INDEX函数返回结果


05

最后我们一起来看一下万金油公式该怎么书写。




好了朋友们,今天和大家分享的内容就是这些了!喜欢我的文章请分享、转发、点赞和收藏吧!如有任何问题可以随时私信我哦!

-END-

长按下方二维码关注EXCEL应用之家

面对EXCEL操作问题时不再迷茫无助

我就知道你“在看”

推荐阅读

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多