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

Google Sheets如何用单个公式跨表提取匹配数据汇总至Sheet3

Google Sheets 单公式跨表提取唯一商品并匹配价格

将下述公式直接粘贴至Sheet3的A1单元格,即可自动输出两列结果:第一列为Sheet2中出现过的去重后基础商品名,第二列为Sheet1中对应的价格,最终结果仅包含Dress、Jeans、Shirt三个符合要求的条目,无需手动下拉填充。

=ARRAYFORMULA(LET(
  base_names, UNIQUE(FILTER(REGEXEXTRACT(Sheet2!A2:A,"^(.+?)/"),Sheet2!A2:A<>"")),
  matched_prices, XLOOKUP(base_names,Sheet1!A:A,Sheet1!B:B,""),
  FILTER(HSTACK(base_names,matched_prices),matched_prices<>"")
))

公式逻辑说明

  • 文本截取:REGEXEXTRACT(Sheet2!A2:A,"^(.+?)/") 匹配Sheet2商品单元格中第一个斜杠前的内容,直接剥离「/颜色」后缀,得到基础商品名;外层FILTER过滤空单元格,避免空白行参与计算
  • 去重处理:UNIQUE() 对截取得到的基础商品名去重,同一商品对应多个颜色款时仅保留1条记录
  • 价格匹配:XLOOKUP() 对去重后的商品名和Sheet1的Name列做精确匹配,拉取对应Price列的数值
  • 结果组装:HSTACK 将商品名、对应价格拼接为标准两列结构,最后一层FILTER剔除无匹配价格的异常条目;LET将中间计算步骤定义为变量简化公式结构,ARRAYFORMULA支持整列批量运算,输入一次即可覆盖所有结果行

适配说明

若Sheet2的商品数据起始行不是A2(如表头占A1、数据从其他行开始),只需将公式内Sheet2!A2:A替换为实际数据范围即可,公式会自动适配数据行数,无需手动设置范围上限。

仅靠QUERY原生语法无法完成该需求:QUERY不支持批量正则文本处理+跨表匹配的组合逻辑,必须嵌套文本处理、去重类函数才能单公式输出结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 20:48:34