平均值的平均值 Excel 公式

Average of averages Excel formula

我如何制作一个公式来取 m 周平均值的 n 周平均值?

假设我有数据在A2:A21,在D21,我想要4周移动平均线的8周平均线到A21。所以我的想法是

{=AVERAGE(AVERAGE(OFFSET(A21,-4+1-ROW(OFFSET(A1,0,0,8))+1,0,4)))}

因此,例如,使用此数据:

data    4 wk aver   8 wk avg avg
79      
79      
66      
38  66  
34  54  
13  38  
22  27  
50  30  
40  31  
98  53  
81  67  46
27  62  45
64  68  47
12  46  48
83  47  50
94  63  54
4   48  57
41  56  57
4   36  53
6   14  47

我正在寻找计算 47 的公式...我上面的公式计算出 57.8。

答案是在内部平均值上使用 SUBTOTAL()。这将 return 一列平均值,因此外部 AVERAGE() 将具有正确的行为。

{=AVERAGE(SUBTOTAL(1,OFFSET(A21,-4+1-ROW(OFFSET(A1,0,0,8))+1,0,4)))}

原始解决方案不起作用的原因是因为内部 AVERAGE 只是取所有数组的总平均值,而不是 return 计算它们各自平均值的列。当你需要做这种事情时,我发现这个 SUBTOTAL() 技巧很有用。