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

如何在Google Sheets的Query查询中计算列平均值并纳入查询结果

在Google Sheets Query结果中添加Reach列平均值的方法

嘿,我来帮你解决这个问题!作为Query新手,你已经能单独算出平均值,现在只需要把它整合到查询结果里就行,有两种简单的方法可以实现你想要的效果:

方法1:使用子查询直接在SELECT中计算平均值

这种方法最直接,你可以在Query的SELECT语句里嵌入一个子查询来计算Reach的平均值,并且给新列设置表头。假设你的原始数据在A:B列(A是Date,B是Reach),公式如下:

=QUERY(A:B, "SELECT A, B, (SELECT AVG(B) FROM A:B WHERE A IS NOT NULL) WHERE A IS NOT NULL LABEL (SELECT AVG(B) FROM A:B WHERE A IS NOT NULL) 'avg reach'")

公式拆解:

  • (SELECT AVG(B) FROM A:B WHERE A IS NOT NULL):这个子查询会计算所有非空日期对应的Reach值的平均值,因为它是一个单一的标量值,Query会自动把它重复填充到结果的每一行里。
  • LABEL ... 'avg reach':这部分是给新生成的平均值列设置自定义表头,避免显示默认的Col3之类的名称,和你想要的格式完全匹配。

如果你的原查询有额外的筛选条件(比如只选2021年1月的数据),记得把子查询里的条件也同步修改,确保平均值是基于筛选后的结果:

=QUERY(A:B, "SELECT A, B, (SELECT AVG(B) FROM A:B WHERE A >= '2021-01-01' AND A <= '2021-01-31') WHERE A >= '2021-01-01' AND A <= '2021-01-31' LABEL (SELECT AVG(B) FROM A:B WHERE A >= '2021-01-01' AND A <= '2021-01-31') 'avg reach'")

方法2:用ARRAYFORMULA合并原查询结果和平均值

如果你更习惯用数组操作,也可以先计算平均值,再把它和原查询的结果合并成一个新数组,最后用Query输出:

=ARRAYFORMULA(QUERY({QUERY(A:B, "SELECT A, B WHERE A IS NOT NULL"), AVERAGE(QUERY(A:B, "SELECT B WHERE A IS NOT NULL"))}, "SELECT Col1, Col2, Col3 LABEL Col1 'Date', Col2 'Reach', Col3 'avg reach'"))

公式拆解:

  • {QUERY(...), AVERAGE(...)}:把原查询的结果(两列)和计算出的平均值(单个值)组合成一个新的二维数组,ARRAYFORMULA会自动把平均值填充到每一行的第三列。
  • 外层的QUERY负责选择这三列,并设置对应的表头。

这两种方法都能得到你想要的结果:每行的Date和Reach保留,同时新增一列显示统一的平均值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 07:53:15