动态行范围的平均值

时间:2014-09-03 19:59:05

标签: arrays excel excel-formula worksheet-function

我有一个由零和数字组成的行表:

A   B   C   D   E   F   G   H   I   J   K   L   M   N
0   0   0   4   3   1   0   1   0   2   0   0   0   0
0   1   0   1   4   0   0   0   0   0   1   0   0   0
9   5   7   9   10  7   2   3   6   4   4   0   1   0

我想计算包括零的数字的平均值,但是从第一个非零值开始并在表结束后将其放入列中。例如。对于第一行第一个值是4,所以平均值 - 11/11;第二次 - 7/13;最后一个是67/14。

我如何使用excel公式呢?可能OFFSET嵌套IF

3 个答案:

答案 0 :(得分:1)

无论你包括多少0,总和都是相同的,所以你需要担心的是除以它,你可以使用嵌套的IF来确定,或者从中得到一个提示: https://superuser.com/questions/671435/excel-formula-to-get-first-non-zero-value-in-row-and-return-column-header

答案 1 :(得分:1)

这仍然需要作为数组公式输入(ctrl-shift-enter),但它不是易变的:

=AVERAGE(INDEX(($A2:$O2),MATCH(TRUE,$A2:$O2<>0,0)):$O2)

或者,取决于位置:

=AVERAGE(INDEX(($A2:$O2);MATCH(TRUE;$A2:$O2<>0;0)):$O2)

答案 2 :(得分:0)

谢谢Scott Hunter,以供参考 我用一个巨大的公式解决了这个问题,我认为这有点尴尬 这里是: =AVERAGE(INDIRECT(CELL("address";INDEX(A2:O2;MATCH(TRUE;INDEX(A2:O2<>0;;);0)));TRUE):O2)