If函数是 Excel 中使用特别多的函数之一,它用于逻辑判断;Excel If函数共有三个参数,第一个为条件,二三个为返回值,如果条件为真,返回第二个参数,否则返回第三个参数。
If函数可以嵌套,并且在一个If函数中最多能嵌套 64 个 If,以实现组合多个条件。除用嵌套组合多个条件外,还可以用And函数(或 *)组合表示“与”关系的多个条件、用OR函数(或 +)组合表示“或”关系的多个条件;另外,还能用数组作为If函数的条件,这种情况常与别的函数组合使用,例如与VLookUP函数组合使用。
1、表达式:IF(Logical_Test, [Value_If_True], [Value_If_False])
中文表达式:如果(条件,[条件为真返回值],[条件为假返回值])
2、说明:
A、Logical_Test 为必选项,[Value_If_True] 和 [Value_If_False] 为可选项,可选项可以省略,且必须用 [] 括起来。若省略[Value_If_True] 和 [Value_If_False],必须在 Logical_Test 后加逗号,否则公式错误。
B、If函数最多可以嵌套 64 个 If,但尽量少嵌套,一方面便于阅读,另一方面执行效率也高一些。
C、If 可以与数组组合使用,如果把数组作为 If 的参数,执行时,将依次取出数组的每一个元素进行计算。
(一)参数只有一个条件的实例
1、选中 G2 单元格,输入公式 =if(F2>500,),按回车,返回 FALSE;双击 G2 单元格,把大于号改为小于号,按回车,返回 0;操作过程步骤,如图1所示:
图1
2、当If函数只有一个条件时,条件后不能少逗号,如演示中的公式 =if(F2>500,);当条件 F2>500 为假时,返回 False;当条件 F2<500 为真时,返回 0。
(二)有两个与三个参数的实例
1、选中 G2 单元格,把公式 =IF(F2>=600,"达标") 复制到 G2,按回车,返回 FALSE;双击 G2,把公式改为 =IF(F2>=600,"达标","不达标"),按回车,返回“不达标”;再次选中 G2,把鼠标移到 G2 右下角的单元格填充柄上,鼠标变为加号后,双击左键,则返回剩余服装销量评定结果;操作过程步骤,如图2所示:
图2
2、公式 =IF(F2>=600,"达标") 省略了最后一个参数,第二个参数后不用加逗号,与只有第一个参数时要加逗号不同;当条件 F2>=600 为假时,由于省略了条件为假时的返回参数,因此用 False 代替。当补充第三个参数后,当条件 F2>=600 为假时,返回第三个参数,即返回“不达标”。
(一)嵌套一个条件
1、假如设定服装销量大于等于 600 为达标,否则不达标,现在要求找出销量达标的女装。选中 G2 单元格,把公式 =IF(C2="女装",IF(F2>=600,"达标","不达标"),"不达标") 复制到 G2,按回车,返回“不达标”;再次选中 G2,把鼠标移到 G2 右下角的单元格填充柄上,鼠标变为加号后,双击左键,则返回剩余服装的评定;操作过程步骤,如图3所示:
图3
2、公式说明:
A、公式 =IF(C2="女装",IF(F2>=600,"达标","不达标"),"不达标") 嵌套了一个 If,执行过程为:先取外层 If 的条件 C2="女装" 来判断,如果为真,则执行嵌套的 IF(F2>=600,"达标","不达标");否则返回外层 If 的"不达标",即返回公式最后的"不达标"。
B、执行嵌套的 IF(F2>=600,"达标","不达标") 时,首先取条件 F2>=600 出来,如果为真,返回“达标”,否则返回“不达标”。
(二)嵌套两个条件
1、假如要找出销量大于等于 600、价格小于 70 的女装,符合条件返回“达标”,否则返回“不达标”。选中 G2 单元格,把公式 =IF(C2="女装",IF(F2>=600,IF(E2<70,"达标","不达标"),"不达标"),"不达标") 复制到 G2,按回车,返回“不达标”;同样用双击单元格填充柄的方法返回其它服装是否达标;操作过程步骤,如图4所示:
图4
2、公式说明
A、公式 =IF(C2="女装",IF(F2>=600,IF(E2<70,"达标","不达标"),"不达标"),"不达标") 嵌套了两个 If;公式执行时,最先取出最外层If 的条件 C2="女装",如果成立,则执行第一个嵌套的 If,即 IF(F2>=600,IF(E2<70,"达标","不达标"),"不达标");否则返回最外层 If 的“不达标”。
B、执行第一个嵌套的 If 时,同样先取出它的条件 F2>=600,如果成立,则执行第二个嵌套的 If,即 IF(E2<70,"达标","不达标");否则返回第一个嵌套的“不达标”。
C、执行第二个嵌套的 If 时,也先取出它的条件 E2<70,如果成立,返回“达标”,否则返回“不达标”;如果嵌套有更多的 If,同样是按此顺序执行。
(一)用 And(*) 组合多个条件
1、同样以找出销量大于等于 600、价格小于 70 的女装,符合条件返回“达标”,否则返回“不达标”为例。选中 G2 单元格,把公式=IF(AND(C2="女装",F2>=600,E2<70),"达标","不达标") 复制到 G2,按回车,返回“不达标”;同样用双击单元格填充柄的方法返回剩余服装的评定。把 G2:G10 的内容删除,双击 G2,把公式 =IF((C2="女装")*(F2>=600)*(E2<70),"达标","不达标") 复制到 G2,按回车,返回“不达标”,也用双击单元格填充柄的方法返回剩余服装的评定,两个公式返回的结果一致;操作过程步骤,如图5所示:
图5
2、公式说明
1、公式 =IF(AND(C2="女装",F2>=600,E2<70),"达标","不达标") 的条件为 AND(C2="女装",F2>=600,E2<70),即用And函数组合三个条件,每个条件之间用逗隔开,只有三个条件都为真时,And才返回真,否则返回假;当 And 返回真时,If 返回“达标”,否则 If 返回“不达标”。
2、除可用 And 组合表示“与”条件外,也可以用星号 * 组合,每个条件要用括号括起来,条件与条件之间用 * 连接,如演示中的条件(C2="女装")*(F2>=600)*(E2<70),它等同于 AND(C2="女装",F2>=600,E2<70)。
(二)用 OR(+) 组合多个条件
1、假如要标出销量小于 400 或大于等于 800 或价格大于 90 的服装。选中 G2 单元格,把公式 =IF(OR(F2<400,F2>=800,E2>90),"满足","不满足") 复制到 G2,按回车,返回“满足”;用双击单元格填充柄的方法返回剩余服装是否满足条件;操作过程步骤,如图6所示:
图6
2、公式说明
公式 =IF(OR(F2<400,F2>=800,E2>90),"满足","不满足") 的条件为 OR(F2<400,F2>=800,E2>90),它是“或”的关系,即只要满足一个条件就返回真;如果 OR(F2<400,F2>=800,E2>90) 返回真,If 返回“满足”,否则 If 返回“不满足”。
3、用加号 + 代替 OR 组合“或”关系的条件
把公式 =IF(OR(F2<400,F2>=800,E2>90),"满足","不满足")
用加号 + 代替 OR 变为:
=IF((F2<400)+(F2>=800)+(E2>90),"满足","不满足")
这两个公式返回的结果一样。
……