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

简化Google Sheets的QUERY与FLATTEN公式,实现多平台Campaign数据汇总

Google Sheets Campaign数据汇总公式优化方案

需求说明

制作汇总表格,统计不同Campaign的标题、nsu、impression和clicks数据:

  • 每个平台对应4列数据(标题、nsu、impression、clicks),共10余组这类列
  • 左侧生成汇总表:对每个Campaign的所有对应数据求和,跨列存在的标题(如“Mainstream”)需汇总所有平台的数据,唯一标题也需纳入统计

原公式痛点

原公式需手动枚举所有对应列,新增平台列时要逐个添加,操作繁琐且易出错:

=QUERY({
  FLATTEN({E2:E, I2:I, M2:M, Q2:Q, U2:U, Y2:Y, AC2:AC, AG2:AG, AK2:AK, AO2:AO, AS:AS, AW:AW, BA:BA}),
  FLATTEN({F2:F, J2:J, N2:N, R2:R, V2:V, Z2:Z, AD2:AD, AH2:AH, AL2:AL, AP2:AP, AT2:AT, AX2:AX, BB2:BB}),
  FLATTEN({G2:G, K2:K, O2:O, S2:S, W2:W, AA2:AA, AE2:AE, AI2:AI, AM2:AM, AQ2:AQ, AU2:AU, AY2:AY, BC2:BC}),
  FLATTEN({H2:H, L2:L, P2:P, T2:T, X2:X, AB2:AB, AF2:AF, AJ2:AJ, AN2:AN, AR2:AR, AV2:AV, AZ2:AZ, BD2:BD})
}, "SELECT Col1, SUM(Col2), SUM(Col3), SUM(Col4) WHERE Col1 IS NOT NULL GROUP BY Col1", 1)

优化方案

利用SEQUENCE自动生成列索引,替代手动枚举,公式扩展性更强:

=QUERY(
  BYCOL(SEQUENCE(4), LAMBDA(col, 
    FLATTEN(INDEX(E2:BD, , SEQUENCE(1, ROUNDUP((COLUMNS(E2:BD))/4), col, 4)))
  )),
  "SELECT Col1, SUM(Col2), SUM(Col3), SUM(Col4) WHERE Col1 IS NOT NULL GROUP BY Col1 LABEL SUM(Col2)'nsu', SUM(Col3)'impression', SUM(Col4)'clicks'",
  1
)

优化说明

  1. 自动识别列组:SEQUENCE(1, ROUNDUP((COLUMNS(E2:BD))/4), col, 4)会根据总列数自动计算有多少组4列数据,无需手动添加列引用
  2. 动态提取列:INDEX(E2:BD, , ...)按组提取对应列(第1列是标题,第2列nsu,以此类推)
  3. FLATTEN合并数据:将多组列的数据合并为单列,供QUERY统计
  4. 自定义表头:通过LABEL参数给汇总列添加明确的名称,可读性更强

若后续新增平台列(仍保持4列一组的结构),只需调整公式中的E2:BD范围为新的总列范围即可,无需修改其他部分。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 19:59:53