You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Google Sheets的VLOOKUP函数返回全部匹配结果而非仅第一个匹配项

嘿,我完全明白你现在的困扰!默认的VLOOKUP(A2,C:D,2,0)确实只会返回第一个匹配的结果,要是同一个查找值对应多个条目,剩下的就都被漏掉了——我之前也踩过这个坑。下面给你两种实用的解法,再帮你理清楚新旧结果的区别:

方法1:用FILTER函数(推荐,适合Excel 365/2021及以上版本)

这个函数是微软为批量提取匹配项专门设计的,语法简洁还能自动溢出结果,不用手动下拉:

=FILTER(D:D,C:C=A2,"无匹配结果")
  • 解释:C:C=A2用来定位所有和查找值匹配的行,D:D指定要返回的列,最后一个参数是没有匹配项时显示的提示文本(可以改成你需要的内容,比如空字符串"")。
  • 效果:输入公式后,所有匹配的结果会自动从当前单元格开始往下排列,不用额外操作。
方法2:传统数组公式(兼容旧版Excel)

如果你用的是2019及更早的Excel版本,没法用FILTER,就试试这个数组公式:

=INDEX(D:D,SMALL(IF(C:C=A2,ROW(C:C)),ROW(INDIRECT("1:"&COUNTIF(C:C,A2)))))
  • 操作步骤:输入公式后,按Ctrl+Shift+Enter(旧版Excel必须用这组快捷键触发数组计算;新版Excel直接回车就行),然后下拉公式直到出现#NUM!(说明已经提取完所有匹配项)。
  • 解释:COUNTIF(C:C,A2)先统计查找值的匹配总数,IF(C:C=A2,ROW(C:C))找出所有匹配行的行号,SMALL按顺序提取这些行号,最后INDEX返回对应D列的值。
结果对比

举个具体的例子帮你直观感受:
假设C列数据是["苹果","香蕉","苹果","橙子","苹果"],D列对应是["红","黄","绿","橙","粉"],A2的查找值是苹果:

  • 当前VLOOKUP结果:只会返回第一个匹配的红
  • 新方法结果:会列出所有匹配的红、绿、粉(FILTER自动溢出到下方单元格;数组公式下拉后依次显示)

内容的提问来源于stack exchange,提问作者russianmax

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 22:34:07