2016-05-18 343 views
0

如何制定一个公式,该公式将采用m周平均值的n周平均值?平均值的平均值Excel公式

假设我有A2:A21D21中的数据,我需要8周均线4周移动平均线至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。

+0

如果您显示一些测试数据和预期结果,这将有所帮助。 –

+0

是的,所以它略有不同,因为我想要滚动平均数,所以有些数字比其他数字更多次数......我想我已经计算出来了,将解决方案发布到 – dashnick

+0

以下。如果你取第1列的平均值和46.75,那么你也是第2列的平均值,得到47.411 ...,并且你取第3列的平均值,得到平均值50.4,你正在寻找平均值为46.75 ,47.411 ...和50.4?如果这样平均值是48.187 ......下面你的答案中的公式是47.0625。不要说你的答案是错误的,只是试图理解原来的问题。 –

回答

0

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

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

究其原因,原来的解决方案没有工作是因为内AVERAGE只是把所有的阵列的总平均,而不是返回他们各自的平均值列。我发现这个SUBTOTAL()技巧有用,当你需要做这种事情。