Applies ToMicrosoft 365 专属 Excel Microsoft 365 Mac 版专属 Excel Excel 2024 Excel 2024 for Mac Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2019 for Mac Excel 2016

IF 是 Excel 中最通用且最常用的一个函数,通常在单个公式中多次使用,还可与其他函数结合使用。 遗憾的是,由于构建 IF 语句较为复杂,因此很容易出现 #VALUE! 错误。 通常可通过在公式中添加专用于处理错误的特定函数(如 ISERROR、ISERR 或 IFERROR)来防止出现错误。

问题:参数引用错误值

存在引用错误值的单元格时,IF 将显示 #VALUE! 错误。

解决方案:可将任意错误处理公式(如 ISERROR、ISERR 或 IFERROR)与 IF 结合使用。 以下主题介绍当参数引用错误值时,如何在公式中使用 IF、ISERROR 和 ISERR 或 IFERROR。

注意: 

  • IFERROR 比 ISERROR 或 ISERR 更可取,因为它不需要冗余构造公式。 ISERROR 和 ISERR 强制将一个公式计算两次,第一次先了解计算结果是否错误,然后再次计算并返回其结果。 IFERROR 仅计算一次。

  • =IFERROR(Formula,0) 远远优于 =IF(ISERROR(Formula,0,Formula))

问题:语法不正确

如果未正确构建函数的语法,则会返回 #VALUE! 错误。

解决方案:确保正确构建语法。 以下是一个构建合理的公式,该公式将一个 IF 函数嵌入另一 IF 函数中,基于收入水平计算扣除金额。

=IF(E2<31500,E2*15%,IF(E2<72500,E2*25%,E2*28%))

构建合理的 IF 语句的示例

简单来说,这表示 - 如果(单元格 A5 中的值小于 31,500,则将该值乘以 15%。如果不小于,则查看该值是否小于 72,500。如果小于,则乘以 25%,否则乘以 28%).

若要将 IFERROR 用于现有公式,只需将完整的公式包含在 IFERROR 中:

=IFERROR(IF(E2<31500,E2*15%,IF(E2<72500,E2*25%,E2*28%)),0)

简单地说,这表示,如果原始公式的任何部分计算结果错误,则会显示 0,否则会返回 IF 语句的结果。 一些用户在编写公式时以错误处理开头,但这不是一个明智之举,因为错误处理程序会防止所有潜在错误,所以用户未必能了解公式是否正常运行。 如需添加错误处理,最好在确定公式正常运行后添加。

注意: 公式中的评估值不含逗号。 如果添加逗号,IF 函数会尝试将其用作参数,Excel 会发出警告。 另一方面,百分比乘数含 % 符号。 这会让 Excel 认为用户希望将这些值显示为百分比。 如若不然,用户需要按其实际百分比值输入,如“E2*0.25”。

向值添加逗号时的 Excel 消息

需要更多帮助吗?

可随时在 Excel 技术社区中咨询专家或在社区中获取支持。

另请参阅

更正 #VALUE! 错误

IF 函数

IFERROR 函数

IS 函数

IFS 函数 (Microsoft 365 或 Excel 2016 或更高版本)

IF 函数 - 嵌套公式和避免错误

视频:嵌套 IF 函数

Excel 中的公式概述

如何避免损坏的公式

检测公式中的错误

所有 Excel 函数(按字母顺序)

所有 Excel 函数(按类别列出)

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。