我正在尝试平均多个单元格,但我想忽略零个单元格。

这是我的公式=IFERROR(AVERAGEIF(L4:L10;L12:L18;L20:L26;L28:L34;L36:L37);""),我不知道将条件忽略零的位置在哪里。难道我做错了什么?

最佳答案

假设您只有正值和零,则可以使用此语法对非连续范围进行平均而没有零

=IFERROR(SUM(L4:L10;L12:L18;L20:L26;L28:L34;L36:L37)/INDEX(FREQUENCY((L4:L10;L12:L18;L20:L26;L28:L34;L36:L37);0);2);"")

FREQUENCY部分为您提供两个元素的数组,一个为零的计数,另一个为正数的计数,INDEX然后检索其中的第二个(正数的数量),因此,如果将总和除通过该计数,您将获得不包括零的平均值。 FREQUENCY函数(不同于AVERAGEIF)接受非连续范围参数(“联合”)

....但是如果您可以通过使用另一列中的值来标识要排除的行,则使用AVERAGEIFS会更容易,例如如果在排除的行上,例如在K11K21K35等中,它们都具有“总计”值,您可以使用以下版本:

=IFERROR(AVERAGEIFS(L4:L37;L4:L37;"<>0";K4:K37;"<>Total");"")

根据确切的文字进行调整,可以使用通配符

10-07 14:10