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

Google Sheets中XLOOKUP仅返回首个匹配行,如何提取全部匹配数据?

解决Google Sheets提取全部匹配行的问题

你当前使用的XLOOKUP函数仅会返回首个匹配结果,因此向下拖动公式只会重复该值,无法获取同产品的其他匹配行。以下是两种可行的修改方案:

方案1:使用FILTER函数(推荐)

FILTER函数可以直接返回所有符合条件的匹配项,且支持动态数组自动填充结果,无需手动拖动公式。

高效版(仅调用一次IMPORTRANGE)

=LET(
  imported_data, IMPORTRANGE("https://docs.google.com/spreadsheets/d/1O1AF3JewmhEoly_dhFWbkax-T5Q7oeQKYjia-Ci1vd0/edit#gid=201","SKUDatabase!A:B"),
  FILTER(INDEX(imported_data,,1), INDEX(imported_data,,2)=$A$2)
)
  • LET函数将导入的数据存储为临时变量imported_data,避免重复调用IMPORTRANGE提升效率
  • INDEX(imported_data,,1)指定返回另一工作表的A列数据
  • INDEX(imported_data,,2)=$A$2设置匹配条件:另一工作表的B列等于当前表的A2单元格值

简化版

如果不需要考虑效率,也可以直接使用双重IMPORTRANGE:

=FILTER(
  IMPORTRANGE("https://docs.google.com/spreadsheets/d/1O1AF3JewmhEoly_dhFWbkax-T5Q7oeQKYjia-Ci1vd0/edit#gid=201","SKUDatabase!A:A"),
  IMPORTRANGE("https://docs.google.com/spreadsheets/d/1O1AF3JewmhEoly_dhFWbkax-T5Q7oeQKYjia-Ci1vd0/edit#gid=201","SKUDatabase!B:B")=$A$2
)

方案2:使用QUERY函数

QUERY函数通过类SQL语法筛选数据,适合需要更复杂条件的场景:

=QUERY(
  IMPORTRANGE("https://docs.google.com/spreadsheets/d/1O1AF3JewmhEoly_dhFWbkax-T5Q7oeQKYjia-Ci1vd0/edit#gid=201","SKUDatabase!A:B"),
  "SELECT A WHERE B = '"&$A$2&"'",
  1
)
  • "SELECT A WHERE B = '"&$A$2&"'":筛选B列等于A2值的行,并返回A列数据
  • 最后一个参数1表示目标工作表有表头行,若无表头则改为0

注意事项

首次使用IMPORTRANGE时,单元格会显示#REF!错误,点击错误提示并选择允许访问即可完成权限授权。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 05:16:20