我正在尝试在Excel中自动填充公式。我的意思是我试图得到一列的前26行的平均值,然后是同一列的接下来26行的平均值,依此类推。
我有一个非常大的数据文件,所以我不能手动完成。我的想法是将一系列数据点扩展到每秒数据点,每秒我有大约26个数据点。
到目前为止,我已经尝试过手动操作,只是拖动公式,这不起作用,因为平均值从第2行到第27行而不是第26行到第52行。
答案 0 :(得分:4)
您直接自动填充第一行的公式可以是:
=AVERAGE(OFFSET(A$1,26*(ROW(1:1)-1),0,26))
答案 1 :(得分:3)
使用 A 列中的数据,在 B1 中输入:
=AVERAGE(INDIRECT("A" & 26*(ROW()-1)+1 & ":A" & ROW()*26))
向下复制。这相当于插入:
=SUM(A1:A26)
=SUM(A27:A52)
=SUM(A53:A78)
=SUM(A79:A104)
=SUM(A105:A130)
=SUM(A131:A156)
=SUM(A157:A182)
但无需调整每个公式。
答案 2 :(得分:2)
这避免了像INDIRECT和OFFSET
这样的易失性函数在B1中,
=AVERAGE(INDEX(A:A,(ROW(1:1)-1)*26 + 1):INDEX(A:A,(ROW(1:1)-1)*26 + 26))
数据在A栏
*26
是间距
+ 1
是第一个拥有数据的单元格,因此如果数据从第二行开始,则将其更改为+ 2
+ 26
是第一组的最后一行,所以如果数据从第2行开始,那么它应该更改为+ 27