我正在尝试平均多个单元格,但我想忽略零个单元格。
这是我的公式=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
会更容易,例如如果在排除的行上,例如在K11
,K21
,K35
等中,它们都具有“总计”值,您可以使用以下版本:=IFERROR(AVERAGEIFS(L4:L37;L4:L37;"<>0";K4:K37;"<>Total");"")
根据确切的文字进行调整,可以使用通配符