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

Google Sheets如何以日期+用户为联合键跨表匹配对应数据

Google Sheets 基于双字段联合键的跨表匹配方案

你需要的以「Date+User」为联合键跨表取数合并结果,可通过以下两种函数方案实现,均能完全匹配你给出的预期结果。

方案1:XLOOKUP 逐行匹配(操作简单易维护)

  • 先在结果区域建好4列表头:Date、User、Unit、Amount
  • 将表1中全部Date、User、Unit数据复制到结果表对应列
  • 在Amount列首个数据单元格输入如下公式,下拉填充整列即可:
=XLOOKUP(A2&B2, '表2'!A:A&'表2'!B:B, '表2'!C:C, "无匹配")

公式逻辑:将当前行的日期、用户名拼接为唯一匹配键,与表2逐行拼接的Date+User键做精确匹配,返回对应行的Amount值。
针对样例中存在同联合键多条记录的情况(如2022/05/29的用户D对应Amount有6、13两个值),XLOOKUP默认返回从上到下第一条命中的记录,正好符合预期结果的取值规则。

方案2:QUERY+VLOOKUP 数组公式(一键生成全量结果)

如果不需要手动复制数据、逐行下拉公式,可直接在空白单元格输入如下数组公式,自动一次性输出完整结果表:

=QUERY(
  ARRAYFORMULA(IFERROR(VLOOKUP('表1'!A:A&'表1'!B:B, {'表2'!A:A&'表2'!B:B,'表2'!C:C}, 2, 0))),
  "select Col1,Col2,Col3,Col4 where Col1 is not null label Col1'Date',Col2'User',Col3'Unit',Col4'Amount'",
  0
)

公式逻辑:先通过ARRAYFORMULA批量拼接两个表的联合键完成全量VLOOKUP匹配,再通过QUERY过滤空行、自动生成表头,输出结构化的最终结果。

样例数据匹配效果

两种方案输出结果完全符合预期:

DateUserUnitAmount
2022/05/30A1091
2022/05/30B1192
2022/05/30C1193
2022/05/29D1096
2022/05/29E1147

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 01:49:16