将 IF 函数与 AND、OR 以及 NOT 函数配合使用

IF 函数允许通过测试某个条件并返回该条件为 True 或 False 的结果,从而对某个值和预期值进行逻辑对比。

  • =IF(内容为 True,则执行某些操作,否则就执行其他操作)

但如果需要测试多个条件,例如我们假设所有条件都需要为 True 或 False (AND),或只有一个条件需要为 True 或 False (OR),或者如果想要检查某个条件是否不 (NOT) 符合你的条件,这时该怎么做呢?这三个函数均可以单独使用,但它们更常见于与 IF 函数成对使用。

将 IF 函数与 AND、OR 和 NOT 配合使用以执行条件是否为 True 或 False 的多项计算。

语法

  • IF(AND()) - IF(AND(logical1, [logical2], ...), value_if_true, [value_if_false]))

  • IF(OR()) - IF(OR(logical1, [logical2], ...), value_if_true, [value_if_false]))

  • IF(NOT()) - IF(NOT(logical1), value_if_true, [value_if_false]))

参数名称

说明

logical_test(必需)

要测试的条件。

value_if_true(必需)

logical_test 的结果为 TRUE 时你希望返回的值。

value_if_false(可选)

logical_test 的结果为 FALSE 时你希望返回的值。

下面是如何分别构造 ANDORNOT 函数的概述。当将它们分别与 IF 语句组合使用时,应按如下方式表达:

  • AND – =IF(AND(Something is True, Something else is True), Value if True, Value if False)

  • OR – =IF(OR(Something is True, Something else is True), Value if True, Value if False)

  • NOT – =IF(NOT(Something is True), Value if True, Value if False)

示例

下面是一些常见的嵌套 IF(AND())、IF(OR()) 和 IF(NOT()) 语句的示例。AND 和 OR 函数最多可支持 255 个单独条件,但并不建议使用多个条件,因为构建、测试和维护复杂的嵌套公式是非常难的。NOT 函数仅采用一个条件。

将 IF 函数与 AND、OR 和 NOT 函数配合使用计算数字值和文本的示例

下面是根据它们的逻辑写出的公式:

公式

说明

=IF(AND(A2>0,B2<100),TRUE, FALSE)

如果 A2 (25) 大于 0,并且 B2 (75) 小于 100,则返回 TRUE,否则返回 FALSE。在本例中,两个条件都为 TRUE,因此返回 TRUE。

=IF(AND(A3="Red",B3="Green"),TRUE,FALSE)

如果 A3(“蓝色”)=“红色”,并且 B3(“绿色”)等于“绿色”,则返回 TRUE,否则返回 FALSE。在本例中,只有第一个条件为 TRUE,因此返回 FALSE。

=IF(OR(A4>0,B4<50),TRUE, FALSE)

如果 A4 (25) 大于 0,或者 B4 (75) 小于 50,则返回 TRUE,否则返回 FALSE。在本例中,只有第一个条件为 TRUE,但由于 OR 只要求一个参数为 TRUE,因此公式返回 TRUE。

=IF(OR(A5="Red",B5="Green"),TRUE,FALSE)

如果 A5(“蓝色”)=“红色”,或者 B5(“绿色”)等于“绿色”,则返回 TRUE,否则返回 FALSE。在本例中,第二个参数为 TRUE,因此公式返回 TRUE。

=IF(NOT(A6>50),TRUE,FALSE)

如果 A6 (25) 不大于 50,则返回 TRUE,否则返回 FALSE。在本例中,25 不大于 50,因此公式返回 TRUE。

=IF(NOT(A7="Red"),TRUE,FALSE)

如果 A7(“蓝色”)不等于“红色”,则返回 TRUE,否则返回 FALSE。

请注意,在所有示例中,输入各自的条件后都加了右括号。其余 True/False 参数将作为外部 IF 语句的一部分。你也可以将“文本”或“数字”值替换为示例中返回的 TRUE/FALSE 值。

以下是使用 AND、OR 和 NOT 函数计算日期的示例。

将 IF 函数与 AND、OR 和 NOT 函数配合使用计算日期的示例

下面是根据它们的逻辑写出的公式:

公式

说明

=IF(A2>B2,TRUE,FALSE)

如果 A2 大于 B2,则返回 TRUE,否则返回 FALSE。14/03/12 大于 14/01/01,因此公式返回 TRUE。

=IF(AND(A3>B2,A3<C2),TRUE,FALSE)

如果 A3 大于 B2,并且 A3 小于 C2,则返回 TRUE,否则返回 FALSE。在本例中,两个参数均为 TRUE,因此公式返回 TRUE。

=IF(OR(A4>B2,A4<B2+60),TRUE,FALSE)

如果 A4 大于 B2,或 A4 小于 B2 + 60,则返回 TRUE,否则返回 FALSE。在本例中,第一个参数为 TRUE,但第二个为 FALSE。由于 OR 仅需要一个参数为 TRUE,因此公式返回 TRUE。如果使用“公式”选项卡中的公式求值向导,则将看到 Excel 计算公式的方式。

=IF(NOT(A5>B2),TRUE,FALSE)

如果 A5 不大于 B2,则返回 TRUE,否则返回 FALSE。在本例中,A5 大于 B2,因此公式返回 FALSE。

公式求值向导示例

将 AND、OR 和 NOT 与条件格式配合使用

你也可以使用 AND、OR 和 NOT 通过公式选项设置“条件格式”条件。这样做可以省略 IF 函数,并可以独立使用 AND、OR 和 NOT。

在“开始”选项卡上,单击“条件格式”>“新规则”。接下来,选择“使用公式确定要设置格式的单元格”选项,输入公式并应用你选择的格式。

条件格式 > 编辑规则对话框(显示公式方法)

使用早期版本的“日期”示例时,公式应如下所示。

将 AND、OR 和 NOT 函数用作条件格式测试的示例


公式

说明

=A2>B2

如果 A2 大于 B2,则设置单元格格式,否则不执行任何操作。

=AND(A3>B2,A3<C2)

如果 A3 大于 B2 且 A3 小于 C2,则设置单元格格式,否则不执行任何操作。

=OR(A4>B2,A4<B2+60)

如果 A4 大于 B2 或 A4 小于 B2 超过 60(天),则设置单元格格式,否则不执行任何操作。

=NOT(A5>B2)

如果 A5 不大于 B2,则设置单元格格式,否则不执行任何操作。在本例中,A5 大于 B2,因此结果返回 FALSE。如果打算将公式更改为 =NOT(B2>A5),则会返回 TRUE,并且会设置单元格格式。

注意: 将公式输入“条件格式”时未加等号 (=) 是一种常见的错误。如果这样做,你将会看到“条件格式”对话框会将等号和引号添加到公式中- ="OR(A4>B2,A4<B2+60)",因此需要删除引号,这样公式才能正常响应。

页面顶端

需要更多帮助吗?

可随时在 Excel 技术社区中咨询专家,在解答社区获得支持,或在 Excel User Voice 上建议新功能或功能改进。

另请参阅

观看如何使用 IF 函数的视频

了解如何在公式中使用嵌套函数

IF 函数

AND 函数

OR 函数

NOT 函数

Excel 中的公式概述

如何避免损坏的公式

使用错误检查检测公式中的错误

Excel for Windows 中的键盘快捷方式

Excel for Mac 中的键盘快捷方式

逻辑函数(参考)

Excel 函数(按字母顺序)

Excel 函数(按类别)

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×