执行真假值判断,根据逻辑计算的真假值,返回不同结果。
可以使用函数 IF 对数值和公式进行条件检测。
语法
IF(logical_test,value_if_true,value_if_false)
Logical_test 表示计算结果为 TRUE 或 FALSE 的任意值或表达式。例如,A10=100 就是一个逻辑表达式,如果单元格 A10 中的值等于 100,表达式即为 TRUE,否则为 FALSE。本参数可使用任何比较运算符。
Value_if_true logical_test 为 TRUE 时返回的值。例如,如果本参数为文本字符串“预算内”而且 logical_test 参数值为 TRUE,则 IF 函数将显示文本“预算内”。如果 logical_test 为 TRUE 而 value_if_true 为空,则本参数返回 0(零)。如果要显示 TRUE,则请为本参数使用逻辑值 TRUE。Value_if_true 也可以是其他公式。
Value_if_false logical_test 为 FALSE 时返回的值。例如,如果本参数为文本字符串“超出预算”而且 logical_test 参数值为 FALSE,则 IF 函数将显示文本“超出预算”。如果 logical_test 为 FALSE 且忽略了 Value_if_false(即 value_if_true 后没有逗号),则会返回逻辑值 FALSE。如果 logical_test 为 FALSE 且 Value_if_false 为空(即 value_if_true 后有逗号,并紧跟着右括号),则本参数返回 0(零)。Value_if_false 也可以是其他公式。
说明
函数 IF 可以嵌套七层,用 value_if_false 及 value_if_true 参数可以构造复杂的检测条件。请参阅下面最后一个示例。
在计算参数 value_if_true 和 value_if_false 后,函数 IF 返回相应语句执行后的返回值。
如果函数 IF 的参数包含数组,则在执行 IF 语句时,数组中的每一个元素都将计算。
Microsoft Excel 还提供了其他一些函数,可依据条件来分析数据。例如,如果要计算单元格区域中某个文本字符串或数字出现的次数,则可使用 COUNTIF 工作表函数。如果要根据单元格区域中的某一文本字符串或数字求和,则可使用 SUMIF 工作表函数。请了解关于根据条件计算值。
示例 1
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
操作方法
创建空白工作簿或工作表。
请在“帮助”主题中选取示例。不要选取行或列标题。
从帮助中选取示例。
按 Ctrl+C。
在工作表中,选中单元格 A1,再按 Ctrl+V。
若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在“工具”菜单上,指向“公式审核”,再单击“公式审核模式”。
1
2
A
数据
50
公式 说明(结果)
=IF(A2<=100,"Within budget","Over budget") 如果上面的数字小于等于 100,则公式将显示“Within budget”。否则,公式显示“Over budget”。(Within budget)
=IF(A2=100,SUM(B5:B15),"") 如果上面数字为 100,则计算单元格区域 B5:B15,否则返回空文本 ("")
示例 2
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
操作方法
创建空白工作簿或工作表。
请在“帮助”主题中选取示例。不要选取行或列标题。
从帮助中选取示例。
按 Ctrl+C。
在工作表中,选中单元格 A1,再按 Ctrl+V。
若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在“工具”菜单上,指向“公式审核”,再单击“公式审核模式”。
1
2
3
4
A B
实际费用 预算费用
1500 900
500 900
500 925
公式 说明(结果)
=IF(A2>B2,"Over Budget","OK") 判断第 1 行是否超出预算 (Over Budget)
=IF(A3>B3,"Over Budget","OK") 判断第 2 行是否超出预算 (OK)
示例 3
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
操作方法
创建空白工作簿或工作表。
请在“帮助”主题中选取示例。不要选取行或列标题。
从帮助中选取示例。
按 Ctrl+C。
在工作表中,选中单元格 A1,再按 Ctrl+V。
若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在“工具”菜单上,指向“公式审核”,再单击“公式审核模式”。
1
2
3
4
A
成绩
45
90
78
公式 说明(结果)
=IF(A2>89,"A",IF(A2>79,"B", IF(A2>69,"C",IF(A2>59,"D","F")))) 为第一个成绩指定一个字母等级 (F)
=IF(A3>89,"A",IF(A3>79,"B", IF(A3>69,"C",IF(A3>59,"D","F")))) 为第二个成绩指定一个字母等级 (A)
=IF(A4>89,"A",IF(A4>79,"B", IF(A4>69,"C",IF(A4>59,"D","F")))) 为第三个成绩指定一个字母等级 (C)
在上例中,第二个 IF 语句同时也是第一个 IF 语句的参数 value_if_false。同样,第三个 IF 语句是第二个 IF 语句的参数 value_if_false。例如,如果第一个 logical_test (Average > 89) 为 TRUE,则返回“A”;如果第一个 logical_test 为 FALSE,则计算第二个 IF 语句,以此类推。
用下列关键字指定数字的字母等级。
如果成绩是 则返回
大于 89 A
80 到 89 B
70 到 79 C
60 到 69 D
小于 60 F