在Excel中计算运行/移动平均值是显而易见的。一个不动的(静止?)平均值更难实现,更难以搜索!
具体来说,我想计算一列数据,它是来自另一列的x
值的连续集合的平均值,因此我可以将x
与原始数据进行比较时的效果可视化。
公式I提出了作品,但似乎不必要地复杂:
=AVERAGE(INDIRECT(ADDRESS(1+ROW()-MOD(ROW(),$D$1),1)):INDIRECT(ADDRESS($D$1+ROW()-MOD(ROW(),$D$1),1)))
它使用INDIRECT和ADDRESS以编程方式计算从当前行延伸到当前x
行集的单元格范围。 D1中指定了x
。没有所有的guff,它只是AVERAGE(i-i%x:i + x-i%x),但它看起来比这更丑陋。
示例数据:
Raw Averaged 10
2428 2426.3
2425 2426.3
2421 2426.3
2423 2426.3
2432 2426.3
2431 2426.3
2421 2426.3
2431 2426.3
2427 2426.3
2424 2426
2426 2426
2431 2426
2429 2426
2428 2426
2428 2426
2424 2426
2425 2426
2422 2426
2420 2426
2427 2425.5
2427 2425.5
2421 2425.5
2425 2425.5
未成功探索的解决方案的途径是decimation类型问题,并按row and column as numbers类型问题指定单元格。
答案 0 :(得分:0)
这有点清洁,但依赖于预定义的数据向量:
={AVERAGE(IF(ROUNDDOWN((ROW(A$2:A$24)-2)/$D$1,0)=ROUNDDOWN((ROW(A2)-2)/$D$1,0),A$2:A$24))}
答案 1 :(得分:0)
我能想到的最简单的公式是
=AVERAGE(OFFSET(A:A,(INT((ROW()-1)/$D$1)*$D$1+1),0,$D$1,1))