需要修正这里的移动平均线的公式

问题描述 投票:0回答:1

我试着创建一个系统,在这个系统中,你可以在第6个单元格中得到6天的平均值,在第10个单元格中得到10天的平均值。

然而,我在这里面临的问题是,当我在单元格I2中输入7时,它为我提供了单元格E5到E11的数据的平均值,而我期望的是E3到E9的平均值。

同样地,我希望我的工作表能提供第10列的E3到E12单元格或K12单元格的平均值,但它给我的是E8:E17的平均值。我知道我弄错了,请帮助我。enter image description here我的文件在这里

excel analytics moving-average
1个回答
3
投票

如果你想公式从 E3那么你必须指定适当的范围。

=IF(ROW()<$I$2+2,"",AVERAGE(OFFSET(E3:E2999,0,0,$I$21)))

如果你想在复制公式的时候不改变范围,就用一个"-"来固定。$ 符号。

=IF(ROW()<$I$2+2,"",AVERAGE(OFFSET($E$3:$E$2999,0,0,$I$2,1)))

注意: OFFSET 是一个不稳定的函数,最好使用 INDEX:

=IF(ROW()<$I$2+2,"",AVERAGE($E$3:INDEX($E$3:$E$2999,$I$2)))

0
投票

谢谢 @basic 回答了我的疑问,但我进一步搜索了一下,发现如果我正确使用了OFFSET,就达到了我的目的。

特别是在这里,我需要做的是

    -
=IF(ROW()<$I$2+2,"",AVERAGE(OFFSET(E3,0,0,-$I$2,1)))

谢谢你,伙计

© www.soinside.com 2019 - 2024. All rights reserved.