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 或更高版本)

Excel 中的公式概述

如何避免损坏的公式

检测公式中的错误

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

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

需要更多帮助?

需要更多选项?

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