在 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 时你希望返回的值。 |
|
下面是如何分别构造 AND、OR 和 NOT 函数的概述。 当将它们分别与 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(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(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 的“ 开始 ”选项卡中,单击“ 条件格式”>“新建规则”。 接下来,选择“使用公式确定要设置格式的单元格”选项,输入公式并应用你选择的格式。
使用早期版本的“日期”示例时,公式应如下所示。
公式 |
说明 |
---|---|
=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 技术社区中咨询专家或在社区中获取支持。