1. 功能
vlookup只能返回第一个符合条件的结果,想要返回所有符合条件的结果,就必须添加辅助列。
这里记录了使用vlookup返回符合条件的所有结果的方法。
2. 思路
- 增加辅助列
- 辅助列以countif()函数列出关键字出现的次数
- 使用vlookup的数组公式形式,搜索辅助列&关键字列
- 返回结果
3. 实现
3.1 在查找表左侧增加辅助列
3.2 辅助列公式
A2单元格公式:=COUNTIF($B$1:B2,B2)
作用:查找对应关键字在所在列(B列)出现第几次,每出现多一次加1。此列(A列)与关键字列(B列)合并时就不会有重复了。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。。。)对应辅助列的关键字出现次数。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),””)4. 后续
网上还有些方法是不需要加辅助列的,有时间再去研究。