在 Excel 中,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)

示例

下面是 Excel 中一些常见的嵌套 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。

公式求值向导示例

在 Excel 中对条件格式使用 AND、OR 和 NOT

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

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

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

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

将 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 技术社区中咨询专家或在社区中获取支持。

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

IF 函数

AND 函数

OR 函数

NOT 函数

Excel 中的公式概述

如何避免损坏的公式

检测公式中的错误

Excel 中的键盘快捷方式

逻辑函数(参考)

Excel 函数(按字母顺序)

Excel 函数(按类别列出)

需要更多帮助?

需要更多选项?

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

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