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

Google Sheets横向月度数据的6 month rolling average实现方法咨询

如何在Google Sheets中计算横向月度数据的6个月滚动平均值

嘿,我刚好处理过类似的横向滚动平均需求,给你两个实用的方案,直接就能上手:

方案一:用ARRAYFORMULA批量生成(推荐,自动适配数据)

假设你的月度数值数据横向放在第一行(A1:I1),对应的数值是:100,345,34,54,34,67,56,89,555。

你可以直接在第二行的第一个单元格(A2)输入以下公式,它会自动生成所有符合条件的滚动平均值:

=ARRAYFORMULA(IF(COLUMN(A1:I1)<6,"",MMULT(N(OFFSET(A1:I1,0,SEQUENCE(COLUMNS(A1:I1)-5,1,0),1,6)),ROW(INDIRECT("1:6"))^0)/6))

公式逻辑简单拆解:

  • COLUMN(A1:I1)<6:判断当前列是否是前5列(因为前5列凑不够6个月份数据),是的话显示空白
  • OFFSET(...):滑动选取每一组连续的6个月度数据
  • MMULT(...):快速计算每组6个数据的总和(比逐个SUM更高效)
  • 最后除以6得到平均值

方案二:手动拖拽公式(适合新手,直观易懂)

如果觉得数组公式有点复杂,也可以用基础的AVERAGE函数手动拖拽:

  1. 找到第一个能计算6个月平均的位置:也就是第6列对应的第二行单元格(F2),因为从A1到F1刚好是前6个月数据
  2. 在F2输入公式:
=AVERAGE(A1:F1)
  1. 选中F2单元格,鼠标悬停到单元格右下角的填充柄(小方块),按住左键向右拖拽到I2,这样每个单元格都会自动计算对应位置的前6个月平均值

注意事项:

  • 默认情况下,AVERAGE函数会自动忽略空白单元格,如果你的数据中有空白,且需要把空白当作0计算,可以改用:
    =AVERAGEIF(A1:F1,"<>")
    
  • 如果后续新增月度数据(比如J1、K1),方案一的数组公式会自动扩展计算,方案二则需要重新拖拽填充柄到新列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 15:07:31