Excel-使用列中第一个未使用的单元格对后续单元格进行平均

Excel-使用列中第一个未使用的单元格对后续单元格进行平均

早上好,

我需要将此输出放在单独的工作表上,但本质上我试图解决的问题可以解释如下。

我正在尝试弄清楚如何用以下格式对列中的单元格进行平均:

B2Sheet2 中,我想要在、average(Sheet1!a2:a5)在、在、(Sheet1!a10:a13)等。B3average(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)))

就像第一个一样。

相关内容