
函数4:IF函数(根据条件判断真假)
函数功能
根据指定的条件判断其“真”(TRUE)、“假”(FALSE),从而返回其相对应的内容。IF函数可以嵌套7层关系式,这样可以实现不仅是单个条件的判断。
函数语法
IF(logical_test,value_if_true,value_if_false)
参数解释
- IF函数可以嵌套7层关系式,这样可以构造复杂的判断条件,从而进行综合评定。
- logical_test:表示逻辑判断表达式。
- value_if_true:表示当判断条件为逻辑“真”(TRUE)时,显示该处给定的内容。如果忽略,返回TRUE。
- value_if_false:表示当判断条件为逻辑“假”(FALSE)时,显示该处给定的内容。如果忽略,返回FALSE。
用法剖析

应用范例
实例6 判断业绩是否达标并计算奖金

公司规定,销售业务成绩小于50000元时不发放奖金,当销售业务成绩大于或等于50000元时超出部分按10%给予奖金。
选中C2单元格,在公式编辑栏中输入公式:

按Enter键即可根据B2单元格中的业绩计算出奖金。
将鼠标指针指向B2单元格的右下角,待光标变成十字形状后,按住鼠标左键向下拖动进行公式填充,即可计算出每位销售员的奖金,如图1-6所示。

图1-6
公式解析

① 判断“B2<50000”这个条件是否为真。
② 如果①步为真,返回空值;如果不为真则返回“(B2-50000)*10%”这一部分的计算值。
实例7 按多重条件判断业绩区间并给予不同的奖金比例

公司规定,销售业绩小于50000元时给于3%的奖金,销售业绩小于80000元时给于5%的奖金,销售业绩在80000元以上时给于8%的奖金。可以使用IF函数的嵌套方式来设置公式。
选中C2单元格,在公式编辑栏中输入公式:

按Enter键即可根据B2单元格中的业绩计算出奖金。
将鼠标指针指向B2单元格的右下角,待光标变成十字形状后,按住鼠标左键向下拖动进行公式填充,即可计算出每位销售员的奖金,如图1-7所示。

图1-7
公式解析

① 判断“B2<=50000”这个条件是否为真,如果为真,返回“B2*0.03”的计算值,否则进入下一个IF判断。
② 如果①步为假,则判断“B2<=80000”这个条件是否为真,如果为真,则返回“B2*0.05”的计算值,否则返回“B2*0.08”的计算值。
实例8 评定人员的面试成绩是否合格

在对应聘人员进行面试后,主管人员可以对员工的考核成绩进行评定,例如,如果各项成绩都不小于60分即可评定为合格,否则评定为不合格。
选中E2单元格,在公式编辑栏中输入公式:

按Enter键即可根据员工的各项成绩判断面试人员是否合格。
将鼠标指针指向E2单元格的右下角,待光标变成十字形状后,按住鼠标左键向下拖动进行公式填充,即可判断其他人员的面试成绩是否合格,如图1-8所示。

图1-8
公式解析

① 分别判断B2、C2、D2单元格中的数值是否都大于或等于60,如果是,返回TRUE,如果不是,返回FALSE。
② 如果①步返回的是TRUE,则返回“合格”文字;如果①步返回的是FALSE,则返回“不合格”文字。
实例9 评定员工的参试情况

在员工考核成绩统计表中,判断一组考评数据中是否有一个大于“80”,如果有则具备参与培训的资格,否则取消资格。
选中E2单元格,在公式编辑栏中输入公式:

按Enter键即可根据员工的考核成绩判断出其是否具备参与培训的资格。
将鼠标指针指向E2单元格的右下角,待光标变成十字形状后,按住鼠标左键向下拖动进行公式填充,即可得出其他员工参与培训的资格情况,如图1-9所示。

图1-9
公式解析

① 判断“B2>80”“C2>80”“D2>80”这3个条件中是否有一个条件满足,如果是返回TRUE,如果不是返回FALSE。
② 如果①步返回的是TRUE,则返回“参与培训”文字,如果①步返回的是FALSE,则返回“取消资格”文字。
实例10 根据工龄计算其奖金

公司规定工作时间在1年以下者给予200元年终奖,1~3年者为600元,3~5年者为1000元,5~10年者为1400元。现在需要计算每位员工12月份工资加年终奖合计值。
选中D2单元格,在公式编辑栏中输入公式:

按Enter键即可计算出第一位员工12月的工资。
将鼠标指针指向D2单元格的右下角,待光标变成十字形状后,按住鼠标左键向下拖动进行公式填充,即可快速计算出其他员工12月份的工资,如图1-10所示。

图1-10
公式解析

① 判断B2单元格中的工龄是否小于或等于1,如果是返回200。如果不是进入下一个IF判断。
② 判断B2单元格中的工龄是否小于或等于3,如果是返回600。如果不是进入下一个IF判断。
③ 判断B2单元格中的工龄是否小于或等于5,如果是返回1000。如果不是则返回1400。
实例11 根据消费卡类别和消费情况派发赠品

某商场元旦促销活动的规则如下:当卡种为金卡时,消费额小于2888元,赠送“电饭煲”;消费金额小于3888元时,赠送“电磁炉”,否则赠送“微波炉”。当卡种为银卡时,消费金额小于2888元时,赠送“夜间灯”;消费金额小于3888元时,赠送“雨伞”,否则赠送“摄像头”。未持卡且消费金额大于2888元时,赠送“浴巾”。
选中D2单元格,在公式编辑栏中输入公式:

按Enter键即可根据各用户的持卡类别以及消费额返回相应的赠品。
将鼠标指针指向D2单元格的右下角,待光标变成十字形状后,按住鼠标左键向下拖动进行公式填充,即可依次根据各用户的持卡类别以及消费额返回相应的赠品,如图1-11所示。

图1-11
公式解析

① 这是一个IF函数多层嵌套的例子,首先判断B2为空值(即未持卡)和“C2<2888”是否同时满足,如果是返回空值(即无赠品);如果不是进入下一个IF判断。
② 这一部分是对B2中是金卡的判断。即如果消费额小于2888元,赠送“电饭煲”;消费金额小于3888元时,赠送“电磁炉”,否则赠送“微波炉”。
③ 这一部分是对B2中是银卡的判断。即如果消费金额小于2888元时,赠送“夜间灯”;消费金额小于3888元时,赠送“雨伞”,否则赠送“摄像头”。
④ 如果前面的条件都不满足,则返回“浴巾”。
实例12 有选择地汇总数据

在统计了各组的产量后,需要对A组、C组人员的产量进行汇总,B、D组排除。
选中E2单元格,在公式编辑栏中输入公式:

按Ctrl+Shift+Enter组合键即可计算出A组与C组的产量,如图1-12所示。

图1-12
公式解析

① 这是数组公式,在A2∶A9单元格区域中依次判断是否是“A组”或“C组”,如果是这两个组则返回TRUE,然后返回对应在C2∶C9单元格区域上的产量值。
② 将步骤①中返回的数组进行求和。
实例13 判断数据是否存在重复

如图1-13所示,B列为员工姓名,使用IF函数配合COUNTIF函数可以判断员工姓名是否重复。COUNTIF函数用于统计指定区域中符合指定条件的单元格条目数,在第6章的6.1节中还会着重介绍。
选中C2单元格,在公式编辑栏中输入公式:

按Enter键即可判断B2中的员工姓名是否存在重复现象,如果出现次数超过1次,则标识为“重复”。
将鼠标指针指向C2单元格的右下角,待光标变成十字形状后,按住鼠标左键向下拖动进行公式填充,即可快速判断出其他员工姓名是否存在重复,如图1-13所示。

图1-13
公式解析

① 判断B2单元格中的值在B2∶B2单元格区域中出现的次数是否大于1。注意,当公式复制到C3单元格中时,则是判断B2单元格中的值在B2∶B3单元格区域中出现的次数;当公式复制到C4单元格中时,则是判断B2单元格中的值在B2∶B4单元格区域中出现的次数,以此类推。
② 当出现次数大于1时返回“重复”,否则返回空值。
提示
本例中涉及公式数据源的引用方式,因为要依次判断B列中的姓名是否重复,因此公式向下复制时,首个单元格“B$2”的地址不能改变,所以要使用绝对引用方式;而第二个“B2”地址要随着公式向下复制而依次变为B3、B4、B5、……,所以使用相对引用。
实例14 根据职工性别和职务判断退休年龄

某公司规定,男职工退休年龄为60岁,女职工退休年龄为55岁,如果是领导班子成员(总经理和副总经理),退休年龄则可以延迟5岁。本例将介绍如何根据职工性别和职务判断退休年龄。
选中E2单元格,在公式编辑栏中输入公式:

按Enter键即可计算出第一位员工的退休年龄。
将鼠标指针指向E2单元格的右下角,待光标变成十字形状后,按住鼠标左键向下拖动进行公式填充,即可快速计算出其他员工的退休年龄,如图1-14所示。

图1-14
公式解析

① 如果C2="男",返回60,否则返回55。
② 判断D2="总经理"和D2="副总经理"两个条件是否有一个满足。
③ 如果步骤②中条件满足,返回5,否则返回0。
④ 将步骤①与步骤③得出的结果相加。
实例15 计算个人所得税

用IF函数配合其他函数计算个人所得税。相关规则如下:
起征点为5000元。
税率及速算扣除数如表1-1所示。
表1-1

选中D2单元格,在公式编辑栏中输入公式:

按Enter键得出第一位员工的“应纳税所得额”。将鼠标指针指向D2单元格的右下角,待光标变成十字形状后,按住鼠标左键向下拖动进行公式填充,如图1-15所示。

图1-15
选中E2单元格,在公式编辑栏中输入公式:

按Enter键根据“应纳税所得额”得出第一位员工的纳税税率。将鼠标指针指向E2单元格的右下角,待光标变成十字形状后,按住鼠标左键向下拖动进行公式填充,如图1-16所示。

图1-16
选中F2单元格,在公式编辑栏中输入公式:

按Enter键根据“税率”得出第一位员工的“速算扣除数”。将鼠标指针指向F2单元格的右下角,待光标变成十字形状后,按住鼠标左键向下拖动进行公式填充,如图1-17所示。

图1-17
选中G2单元格,在公式编辑栏中输入公式:

按Enter键计算得出第一位员工的“应缴所得税”。将鼠标指针指向G2单元格的右下角,待光标变成十字形状后,按住鼠标左键向下拖动进行公式填充,如图1-18所示。

图1-18
公式解析
公式1:

① 是一个IF函数多层嵌套的公式。
② 值的限定依据表1-1中的表格。
公式2:

VLOOKUP是查找函数,表示在{0.03,0;0.1,210;0.2,1410;0.25,2660;0.3, 4410;0.35,7160;0.45,15160}这个组的首列中找E2单元格的值,找到后返回对应在{0.03,0;0.1,210;0.2,1410;0.25,2660;0.3,4410;0.35,7160;0.45,15160}这个组中第2列的值。