Excel 中未来数据的平均偏移单元格

Averaging Offset Cells of Future Data in Excel

我当前的电子表格中有整数,我想在 K 列的每 9 个单元格中取平均值,从 K10 开始。所以现在我现在的公式是,

=AVERAGE(K9,K18,K27)

我希望 EQ 考虑 [K36、K45、K54],即使这些单元格尚未填写。

我相信我可以使用类似的东西;

*pseudocode*
Find the average of K1+(K1+9)

*Attempt*
\
=AVERAGE(OFFSET(K10,9,,,)
\

我想我缺少 OFFSET 的完整知识,或者我在想 AverageIF() 可能是合适的?到目前为止,我大概花了一个小时

如果您可以添加一列作为标志,您可以使用 MOD 函数来检查行号,如下所示:

=MOD(ROW(K10)+1,9) - 这个 returns 从 K10

开始的每第 9 个单元格为 0

如果 MOD 函数 returns 0.

那么你可以使用 AVERAGEIF 函数求平均值

如果您无法添加标志,您可能需要考虑使用如下数组公式:

=AVERAGE(IF(MOD(ROW(K10:K30)-1,9)=0,K10:K30))

您可以通过点击 Ctrl+Shift+Enter 激活数组公式。如果操作正确,大括号 ({}) 将放在公式栏中的公式周围。

编辑:

**以下两种方法都将空单元格计为 0

如果 K 列的每一行都有一个值,则此数组公式将适用于 K 列:

=AVERAGE(IF(MOD(ROW(INDIRECT("K10:K" & COUNTA(K:K)+10))-1,9)=0,INDIRECT("K10:K" & COUNTA(K:K)+10)))

或者如果您在 K 列中没有连续数据,此方法将获取最后填充的单元格。

=AVERAGE(IF(MOD(ROW(INDIRECT("K10:K" & MAX((K:K<>"")*(ROW(K:K)))))-1,9)=0,INDIRECT("K10:K" & MAX((K:K<>"")*(ROW(K:K))))))

此数组公式将 return 从 K10 开始的每第 9n 个单元格并扩展以包含新数据,因为它被放入:

=AVERAGE(INDEX(K:K,N(IF({1},(ROW(A1:INDEX(A:A,(MATCH(1E+99,K:K)-9)/9))-1)*9+10))))

-9是从第1行开始到第1行的行数10-9=1

/9*9是间距

+10 是起始行。

退出编辑模式时使用 Ctrl-Shift-Enter 而非 Enter 进行确认