1. 功能

vlookup只能返回第一个符合条件的结果,想要返回所有符合条件的结果,就必须添加辅助列。
这里记录了使用vlookup返回符合条件的所有结果的方法。

2. 思路

  • 增加辅助列
  • 辅助列以countif()函数列出关键字出现的次数
  • 使用vlookup的数组公式形式,搜索辅助列&关键字列
  • 返回结果

    3. 实现

    3.1 在查找表左侧增加辅助列

    3.2 辅助列公式

    A2单元格公式:=COUNTIF($B$1:B2,B2)
    作用:查找对应关键字在所在列(B列)出现第几次,每出现多一次加1。此列(A列)与关键字列(B列)合并时就不会有重复了。
    image.png
    image.png

    3.3 查找结果公式

    查找关键字在E1单元格,结果在E2单元格开始,竖向排列(横向也同理)。
    E2单元格公式:=VLOOKUP(ROW($A1)&E$1,IF({1,0},$A$2:$A$9&$B$2:$B$9,$C$2:$C$9),2,0)
    此公式是数组公式,输入后要用ctrl + shift + enter完成
    这里用到ROW(A1)的公式,作用是返回A1单元格在第几行。往下填充公式时,每向下称一格,行数加1。其实就是用这个函数的结果(1,2,3,4。。。)对应辅助列的关键字出现次数。
    image.png

    3.4 美化

    如果觉得“#N/A”不好看,还可以在结果公式最外层加IFERROR()函数把错误值去掉
    E2单元格公式:=IFERROR(VLOOKUP(ROW($A1)&E$1,IF({1,0},$A$2:$A$9&$B$2:$B$9,$C$2:$C$9),2,0),””)
    image.png

    4. 后续

    网上还有些方法是不需要加辅助列的,有时间再去研究。