AVERAGEIF(range, criteria) 忽略数据错误的公式

AVERAGEIF(range, criteria) formula that ignores errors in the data

如果要计算一系列数字的平均值但又想使用 AVERAGEIF() 函数忽略错误,如何指定条件?

例如,给定以下数据:

A1: 1
A2: #DIV/0!
A3: #VALUE!
A4: 5
A5: 0

我想像这样使用 AVERAGEIF(range, criteria) 公式:

=AVERAGEIF(a1:a5,and("<>#DIV/0!","<>#VALUE!"))
                    or
=AVERAGEIF(a1:a5,"<>Error()")

有没有办法指定排除错误的标准?我期望范围内的答案是 2,即三个有效数字(1、5 和 0)的平均值。

我通过搜索发现有一种方法可以使用数组公式或其他函数来执行此操作,但我想知道是否有一种方法可以在不使用数组公式或使用其他函数的情况下执行此操作。基本上,您能否在条件中指定忽略错误。例如,我可以像这样忽略一个错误:

AVERAGEIF(a1:a5,"<>#DIV/0!")

但我不知道如何指定忽略任何错误。所以我的问题是标准问题。我使用的是 Microsoft Excel 2013.

如果您使用的是 Excel 2010 及更高版本,AGGREGATE function 可以选择忽略所有错误。

=AGGREGATE(1, 6, A1:A5)

只要您的数据中没有任何负数,这就会起作用:

=AVERAGEIF(A1:A5,">=0")

另一种选择是使用 AVERAGEIFS,排除特定错误。

=AVERAGEIFS(A13:A17,A13:A17,"<>#DIV/0!",A13:A17,"<>#VALUE!")

但是,我强烈建议您解决数据中存在错误的实际问题,而不是这种变通方法。

例如,你有#DIV/0!错误,放入一个 IF 来检查零,如果找到一个,用空字符串替换错误:

=IF(X=0,"",Y)

AVERAGE 将自动忽略这些字符串。

在不了解导致您的错误的更多信息的情况下,我无法提出更具体的建议来删除它们。