97

我有一列average(K23:M23)从通过单元格为空#DIV/0!时开始。最好我只想对包含非零、非空白值的单元格进行平均。我认为可以使用查询命令:K23M23

https://docs.google.com/support/bin/answer.py?hl=en&answer=159999

但是他们的例子对我没有帮助。

4

5 回答 5

183

用 包裹你的公式IFERROR

=IFERROR(yourformula)
于 2013-07-05T08:19:00.783 回答
44

您可以使用 IF 语句检查引用的单元格并返回一个结果为零或空白,否则返回您的公式结果。

一个简单的例子:

=IF(B1=0;"";A1/B1)

如果除数 B1 为空白或零,这将返回一个空字符串;否则返回 A1 除以 B1 的结果。

在运行平均值的情况下,您可以检查您的数据集是否具有值:

=IF(SUM(K23:M23)=0;"";AVERAGE(K23:M23))

如果没有输入任何内容或只有零,则返回一个空字符串;如果存在一个或多个值,您将获得平均值。

于 2014-09-02T02:19:32.357 回答
6

将现有公式包装在 IFERROR 中将无法实现:

包含非零、非空白值的单元格的平均值。

我建议尝试:

=if(ArrayFormula(isnumber(K23:M23)),AVERAGEIF(K23:M23,"<>0"),"")
于 2018-11-08T00:01:52.670 回答
1

由于您还明确要求处理尚未填写的列,并且我假设如果他们有一个单词而不是数字,我也不想惹他们,您可能会考虑这个:

=If(IsNumber(K23), If(K23 > 0, ........., 0), 0)

这只是说......如果K23是一个数字;如果该数字大于零;然后做点什么......否则,返回零。

在............中,您可以将除法方程放在那里,例如A1/K23,您可以放心 K23 是一个大于零的数字。

于 2016-11-11T16:45:04.003 回答
0

检查列是否具有文本格式。将数字格式应用于您在平均函数中使用的单元格。

于 2021-10-26T16:01:07.780 回答