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

如何扩展QUERY函数实现多列分组求和(含F:G、I:J列)

解决方案

直接用数组拼接+单层QUERY就能实现需求,无需嵌套两层QUERY,公式如下:

=QUERY({FILTER(A:B,A:A<>"");FILTER(F:G,F:F<>"");FILTER(I:J,I:I<>"")},"SELECT Col1, SUM(Col2) GROUP BY Col1 HAVING SUM(Col2) > 0")

公式逻辑说明:

  • FILTER(A:B,A:A<>""):提取A:B区域中A列(名称)非空的有效行,同理处理F:G、I:J区域,避免空行干扰分组计算
  • {...;...;...}:把三个过滤后的区域纵向拼接成一个统一的二维数组,让所有名称和对应数值归到同一组列中
  • 外层QUERY:按拼接后的第一列(名称)分组,对第二列(数值)求和,同时用HAVING SUM(Col2) > 0直接过滤掉求和结果≤0的分组,一步完成原公式的过滤需求

验证示例:

以CD为例,它在B列的数值是200、G列是300,拼接后的数组会包含所有CD对应的行,求和后得到500,完全符合需求。

如果你的数据里名称列不会出现空值,也可以简化掉FILTER,直接用:

=QUERY({A:B;F:G;I:J},"SELECT Col1, SUM(Col2) WHERE Col1 <> '' GROUP BY Col1 HAVING SUM(Col2) > 0")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 08:57:14