如何避免“#DIV/0!” Google 文档电子表格中的错误?

Posted

技术标签:

【中文标题】如何避免“#DIV/0!” Google 文档电子表格中的错误?【英文标题】:How do I avoid the "#DIV/0!" error in Google docs spreadsheet? 【发布时间】:2011-09-29 20:07:10 【问题描述】:

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

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

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

【问题讨论】:

属于 webapps.stackexchange.com。 奇数。 0/3 应该是 0,而不是被零除的错误。 【参考方案1】:

IFERROR 包装您的公式。

=IFERROR(yourformula)

【讨论】:

这似乎是最简单的答案,尽管我希望谷歌会添加功能以允许检查特定类型的错误。如果发生不同的错误,将函数包装在通用 IFERROR 中会使调试变得更加困难。 这打破了逻辑和编程中的一些非常基本的原则。如果您知道要避免的错误/异常,那么您应该明确地以这种方式处理它。从这个意义上说,Peregrination 的答案更好。但我会发布另一个答案。 知道您可以指定默认值可能会有所帮助:=IFERROR(K23/M23, "Invalid data")。 Source【参考方案2】:

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

一个简单的例子:

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

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

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

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

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

【讨论】:

AVERAGE 的公式在 LibreOffice Calc 中非常适合我。【参考方案3】:

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

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

我建议尝试:

=if(ArrayFormula(isnumber(K23:M23)),AVERAGEIF(K23:M23,"<>0"),"")

【讨论】:

很高兴遇到这个,谢谢!希望它在答案中更高。【参考方案4】:

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

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

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

在……中,你可以把你的除法方程放在那里,比如A1/K23,你可以放心,K23是一个大于零的数字。

【讨论】:

【参考方案5】:

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

【讨论】:

以上是关于如何避免“#DIV/0!” Google 文档电子表格中的错误?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 API 格式化 Google 表格电子表格单元格?

如何使用谷歌API在内部/自定义编辑器中打开和编辑共享谷歌文档?

从 Google 电子表格中获取 ID 或 URL

如何将用户的电子邮件/电话/地址上传到Google Analytics?

如何通过 PHP 使用 Google 电子钱包?

如何更改 google API“服务帐户”名称/电子邮件地址