需要计算非连续多个单元格的平均值,我想使用 AVERAGEIF 排除值 = 0 或空单元格

需要计算非连续多个单元格的平均值,我想使用 AVERAGEIF 排除值 = 0 或空单元格

需要计算非连续多个单元格的平均值,并且我想使用 AVERAGEIFS 排除值 = 0 或空单元格。

我的公式中有错误,但是我找不到解决方法,因为值不是按顺序排列的:

=AVERAGEIFS($C$9,$C$19,$C$29,$C$39,$C$49,$C$59,$C$69,$C$79,$C$89,$C$99,$C$109,$C$119,$C$129,$C$139,$C$149,$C$159,$C$169,$C$179,$C$190,$C$200,$C$210,$C$220,$C$231,$C$241,$C$251,$C$261,$C$271,$C$281,$C$291,$C$301,$C$311,$C$321,$C$331,$C$341,$C$351,$C$361,$C$371,$C$381,$C$391,$C$401,$C$411,$C$421,$C$431,$C$441,$C$451,$C$461,$C$471,$C$481,$C$491,$C$501,$C$512,$C$522,$C$532,$C$542,$C$552,$C$562;"<>0")

有什么帮助吗?

问候 !

答案1

AVERAGEIF/AVERAGEIFS 不能与不连续的范围一起使用。

相反,您可以通过对非零单元格求和并计数来计算平均值。如果负数较小,则可能需要调整 -0.01:

=SUM(theRange)/(SUM(INDEX(FREQUENCY((theRange),0),2),INDEX(FREQUENCY((theRange),-0.01),1)))

如果没有任何负数,则可以使用更简单的方法:

=SUM(theRange)/INDEX(FREQUENCY((theRange),0),2)

答案2

公式中的错误在于它只接受一个参数作为范围。您有多个参数。有几种方法可以解决这个问题。

平均IFS功能: 仅当指定的所有相应条件都为真时,average_range 中的每个单元格才会用于平均值计算。

我不知道 AVERAGEIFS() 函数,但该注释表明您可以添加一个标准,查询单元格中是否存在值,如果没有,则不将其包含在计算中。

如果这不起作用,一种解决方法是将您想要包含的值复制到连续的数组中,以便您可以正确调用该函数。

相关内容