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

如何在Google Sheets的Tab3中用Query实现多条件跨标签页数据合并

在Google Sheets中用Query合并Tab1和Tab2至Tab3的实现方案

核心逻辑拆解

要满足你的需求,核心是优先保留Tab2的ID对应值,补充Tab1中Tab2没有的ID行,同时排除空ID的无效行,对应你的条件:

  • 相同ID用Tab2的值:直接用Tab2的行覆盖Tab1对应行
  • 添加Tab2独有的值:包含所有Tab2非空ID的行
  • 保留Tab1中Tab2没有的值:筛选出Tab1里不在Tab2 ID集合中的行
  • 忽略空单元格:过滤掉ID为空的行,避免无效数据

具体Query公式

假设Tab1和Tab2的ID列在A列,Value列在B列,表头为第1行,在Tab3的A1单元格输入以下公式:

=QUERY(
  {
    // 提取Tab1中未出现在Tab2的行(含表头)
    QUERY(Tab1!A:B, "select A,B where A not in (select A from Tab2!A:A where A is not null)", 1);
    // 提取Tab2中所有非空ID的行(去掉重复表头)
    QUERY(Tab2!A:B, "select A,B where A is not null offset 1", 0)
  },
  "select * where Col1 is not null",
  1
)

公式说明

  1. 内层第一个QUERY:从Tab1中筛选出ID不在Tab2非空ID列表里的行,保留表头,确保Tab1独有的数据被保留
  2. 内层第二个QUERY:从Tab2中筛选出ID非空的行,用offset 1跳过表头(避免合并后重复表头),这部分包含了与Tab1重复的ID(实现覆盖)和Tab2独有的ID(实现新增)
  3. 外层QUERY:合并两个数据集后,再次过滤掉ID为空的行,确保最终结果没有无效空单元格

适配调整

如果你的列位置或表头行不同,可做以下修改:

  • 若ID在C列、Value在D列:将公式中的A:B替换为C:D,select A,B替换为select C,D
  • 若表头行是第2行:将内层第一个QUERY的最后一个参数1改为2,内层第二个QUERY的offset 1改为offset 2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 14:32:06