平均值的平均值 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()
技巧很有用。
我如何制作一个公式来取 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()
技巧很有用。