Applies ToMicrosoft 365 专属 Excel Microsoft 365 Mac 版专属 Excel Excel 2024 Excel 2024 for Mac Excel 2021 Excel 2021 for Mac Excel 2019 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 函数(按类别列出)

需要更多帮助?

需要更多选项?

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

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