早上好,
我需要将此输出放在单独的工作表上,但本质上我试图解决的问题可以解释如下。
我正在尝试弄清楚如何用以下格式对列中的单元格进行平均:
在B2
Sheet2 中,我想要在、average(Sheet1!a2:a5)
在、在、(Sheet1!a10:a13)等。B3
average(Sheet1!a6:a9)
B4
我可能把它弄得比必要的更复杂,但我的想法是使用 Offset 函数,如下所示:
=AVERAGE(OFFSET(Sheet1!$a$2, 4*(ROW()-ROW(Sheet1!$a$2)), 0, 4, 1))
这有效!但是,我需要另一列来显示不同的数据,如下所示:
=AVERAGE(OFFSET(Sheet1!$a$118, 4*(ROW()-ROW(Sheet1!$a$118)), 0, 4, 1))
这给了我一个引用错误。有人能帮我理解为什么这不起作用吗?如果能给出一个简单的解决方案就好了,但如果能解释一下为什么就更好了!!
答案1
好的,所以我们将针对第一个问题使用不同的公式 -
=AVERAGE(INDEX(A:A,1+4*(ROW()-ROW($B$1))):INDEX(A:A,4*(ROW()-ROW($B$1)+1)))
这样做的目的是创建一个数组来计算平均值。它通过查找当前行、减去参考行、对范围的每一侧加 1 并乘以 4 来实现此目的。使用评估公式来查看它的实际效果。
假设你想再次这样做,但从 A118 开始,我想这就是你问的
=AVERAGE(INDEX(A118:A999,1+4*(ROW()-ROW($B$118))):INDEX(A118:A999,4*(ROW()-ROW($B$118)+1)))
现在,这需要你在第 118 行进行工作,但是假设你只想在第 1 行开始一个新列 -
=AVERAGE(INDEX(A118:A999,1+4*(ROW()-ROW($B$1))):INDEX(A118:A999,4*(ROW()-ROW($B$1)+1)))
就像第一个一样。