我试着创建一个系统,在这个系统中,你可以在第6个单元格中得到6天的平均值,在第10个单元格中得到10天的平均值。
然而,我在这里面临的问题是,当我在单元格I2中输入7时,它为我提供了单元格E5到E11的数据的平均值,而我期望的是E3到E9的平均值。
同样地,我希望我的工作表能提供第10列的E3到E12单元格或K12单元格的平均值,但它给我的是E8:E17的平均值。我知道我弄错了,请帮助我。我的文件在这里
如果你想公式从 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)))
谢谢 @basic 回答了我的疑问,但我进一步搜索了一下,发现如果我正确使用了OFFSET,就达到了我的目的。
特别是在这里,我需要做的是
=IF(ROW()<$I$2+2,"",AVERAGE(OFFSET(E3,0,0,-$I$2,1)))
谢谢你,伙计