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

求更简洁的Excel行数据10元素滑动平均数组公式

一行数据的10元素滑动平均简洁Excel数组公式

方案1:Excel 365 专属(最简洁)

如果使用支持动态数组和WINDOW函数的Excel 365版本,这个公式最为简洁:

=TOROW(AVERAGE(WINDOW(10,1,1:1,SEQUENCE(COUNT(1:1)-9,1,1))))
  • COUNT(1:1)统计目标行的有效数值总数
  • SEQUENCE(...)生成所有滑动窗口的起始位置序列
  • WINDOW(10,1,1:1,起始位置)精准提取每个10元素的连续窗口
  • AVERAGE自动对每个窗口计算平均值
  • TOROW将结果转换为一行数组输出

方案2:兼容多数Excel版本的简化公式

如果需要兼容不支持WINDOW函数的版本,可以使用简化的MMULT实现:

=TOROW(MMULT(--(SEQUENCE(COUNT(1:1)-9,1)<=SEQUENCE(1,COUNT(1:1)))*(SEQUENCE(COUNT(1:1)-9,1,10)>=SEQUENCE(1,COUNT(1:1))),1:1)/10)
  • 通过两个SEQUENCE生成的布尔矩阵标记每个窗口内的元素(1表示属于当前窗口,0表示不属于)
  • MMULT计算每个窗口的元素总和,除以10得到平均值
  • TOROW将结果转为一行数组

方案3:Excel 365 累加式实现

利用SCAN函数的累加特性,高效计算窗口总和:

=TOROW(DROP(SCAN(0,1:1,LAMBDA(acc,val,acc+val-IF(ROW(val)-ROW(INDEX(1:1,1))>=9,INDEX(1:1,ROW(val)-9),0))),9)/10)
  • SCAN逐个累加数值,同时减去9个位置前的旧值,实时维护当前窗口的总和
  • DROP(...,9)剔除前9个未填满10元素的无效结果
  • 除以10得到平均值后用TOROW转为一行数组

以上所有公式均可在单个单元格输入,Excel 365版本直接回车即可输出一行数组;旧版Excel需按Ctrl+Shift+Enter作为数组公式执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 18:57:19