在Excel的强大功能中,逻辑函数IF扮演着至关重要的角色,它拥有多达十种不同的应用方式。
首先,让我们深入了解IF函数的公式结构:= IF(特定条件,条件满足时的输出,条件未满足时的输出)。
▍如图1所示:在C1单元格中输入=if(A1>B1,“通过”,“不通过”),由于 6>5 这一条件成立,因此单元格会显示“通过”。C2单元格的情况类似,因为6>7的条件不成立,所以显示“不通过”。
使用细节提示:当函数的参数为文本时,需要使用双引号 “” 进行界定;如果是数字,则无需加引号。此外,函数参数还可以是嵌套的其他函数。
图1
▍ 第一种应用:单一条件判断(根据销售额判定个人是否达标)
如图1-1,在C3单元格中输入 =IF(B3<=6000,”不合格”,”合格”),然后通过拖拽填充柄来应用到其他单元格。
使用细节提示:在Excel中,表示大于的符号是>,小于的符号是<,大于等于的符号是>=,小于等于的符号是<=,而不等于的符号则是<>。
图1-1:单一条件判断案例
▍ 第二种应用:多重条件判断(通过函数嵌套实现)
如图2-1:在 F2 单元格中输入 =IF(E2=$A$2,$B$2,IF(E2=$A$3,$B$3,IF(E2=$A$4,$B$4,0))),按下CTRL+回车键后,再向下拖拽填充单元格。图2-1 if函数公式解析:
图2-1:多重条件判断公式解析
如图2-2:此时,在E列任意位置输入早班、中班或晚班,F列中设置过公式的单元格将自动显示对应的结果。
图2-2:多重条件判断
▍ 第三种应用:多区间条件判断(同样采用函数嵌套)。
根据不同的销售区间,计算每位销售员对应的提成比例。
使用细节提示:在使用if函数进行嵌套时,条件内容需要按照从大到小或从小到大的顺序排列,否则函数的判断结果可能会出错。
图3-1,if函数公式解析;图3-2,动图示范
图3-1:多区间条件判断函数解析
图3-2:多区间条件判断动图示范
补充讨论:看到第二条和第三条的应用后,相信大家会意识到IF函数的嵌套公式书写起来确实相当繁琐,一不小心就容易出错。不过,在较新的Office2019版本中,引入了IFS函数,能够简化多条件嵌套的操作。但需要注意的是,使用该功能必须配备WIN10操作系统,因此对这方面感兴趣的朋友可以考虑升级到OFFICE2019。我是使用OFFICE2016版本的,因此无法进行实际演示。
▍第四种应用:多条件并列判断 ( IF 函数与 AND 函数和OR函数结合使用)
AND函数公式解析:=AND(参数1,参数2,……)该函数支持多达255个参数,表示需要同时满足参数1 和 参数2 和 参数3……,所有条件必须同时成立。
OR函数公式解析:=OR(参数1,参数2,……)同样支持255个参数,表示只需满足参数1 或 参数2 或 参数3等等,任意一个条件满足即可。
▲图4-1、if 函数和 and 函数嵌套使用。当数学和语文成绩均达到85分或以上时,可以被评为“三好学生”。
=IF(AND(B3>=85,C3>=85),”是”,”不是”) ,当B3和C3同时满足大于等于85分时,条件成立。
图4-1:多条件并列判断if和AND函数嵌套用法
▲图4-2、if 函数和 OR 函数嵌套使用。数学或语文成绩中有一门达到85分或以上,即可被评为“三好学生”。
=IF(OR(B3>=85,C3>=85),”是”,”不是”) ,当B3或C3其中一门成绩大于等于85分,即可获得“三好学生”的称号。
图4-2:多条件并列判断 if 和OR函数嵌套使用
▲图4-3、if 函数和 AND函数和 OR 函数组合嵌套使用
数学和语文成绩均大于等于90分,或者属于“三好学生”的奖励为“奖学金”。E3单元格输入=IF(OR(AND(B3>=90,C3>=90),D3=”是”),”有奖学金”,”无”)AND(B3>=90,C3>=90)表示两个成绩都需要大于等于90,同时AND函数也作为了OR函数的参数1OR(AND(B3>=90,C3>=90),D3=”是”)表示两个成绩都大于等于90或者是三好学生就可以获得奖学金,否则没有。图4-3:if函数NAD函数OR函数一起嵌套
▍ 第五种应用:为表格数据统一增加或减少特定数值。
将B列和C列中的销售数据统一减少10,使用if函数批量处理。复制粘贴一份原始表格,删除销售数据,在新表的F3单元格里输入 = IF(B3<>””,B3-10,””)。函数解析:当B3不等于空值时,显示结果为B3减去10 后的值;如果B3是空值,则结果也为 空值。图5-1:批量减去数据或加上数据
▍ 第六种应用:if({1,0},查找列,结果列)逆向查询。
Vlookup函数只能从左往右查找,结合if函数的逆向功能,可以实现从右向左的数据查询。
使用细节提示:if({1,0},查找列,结果列),查找列只能是1列,结果列也只能是1列,否则数据会出错。
如图6-1函数详解:通过姓名匹配来获取部门信息,在G2单元格输入=VLOOKUP(F2,IF({1,0},$C$2:$C$8,$A$2:$A$8),2,0),同时按下CTRL+SHIFT+回车三键,在下拉填充单元格。
图6-1:vlookup和 if({1,0}) 公式详解
▍第七种应用:if 函数的返回结果不仅可以是数值,还可以是数据区域。
如图7-1:在G2单元格里输入 =VLOOKUP(F2,IF(E2=$A$2,$B$2:$C$4,$B$5:$C$7),2,0),当E2内容是上海公司时,就和A2内容一致,条件成立,if 输出的结果就是B2:C4;内容如果不一致,则输出B5:C7区域。加绝对值是为了防止数据偏移,这样不同的条件就会对应不同的数据区域。
图7-1
使用if函数嵌套可以完成三个及三个以上的数据区域引用,但每一块的数据区域引用需要连续排列,比如所有的上海公司数据区域都要连续挨着,对于不连续的可以先排序。
▍第八种应用:IF 函数和SUM函数和AND函数和OR函数组合使用,对多条件求和。
▲图8-1、求A型产品且数量大于60的合计,在B10单元格输入
=SUM(IF(($A$2:$A$9=”A型”)*($B$2:$B$9>=60),$B$2:$B$9,0))。因为AND函数只能输出1个数,1或0,也就是TRUE(真)或FALSE(假),所以用 * 乘号代替AND。
图8-1:AND函数条件求和
▲图8-2、求A型产品或数量大于60的合计,在B10单元格输入
=SUM(IF(($A$2:$A$9=”A型”)+($B$2:$B$9>=60),$B$2:$B$9,0))。因为OR函数只能输出1个数,1或0,也就是TRUE(真)或FALSE(假),所以用 + 加号代替OR。
图8-2:OR函数条件求和
▍第九种应用:IF函数设置时间到期提醒。
假设当前日期是2020-2-20,那么在函数公式里直接输入2020-2-20是错误的,应该写成DATE(2020,2,20),这样函数才会识别。如=if(B2<DATE(2020,2,20),””,”到期”)
图9-1:函数公式解析
图9-2:结果显示
▍第十种应用:N(IF)和T(IF)具有数组转换功能,原本VLOOKUP只能查找单个值,现在可以查找一组数据。
▲如图10-1、用VLOOKUP匹配 T(if),查找多个数据,在配合SUM函数直接求出合计。
D7单元格输入 =SUM(VLOOKUP(T(IF({1,0},B7,C7)),$A$2:$B$4,2,0)),按CTRL+Shift+回车,往下填充单元格。
详细说明:因为B7和C7分别是文本“产品1和产品2”,所以用T(if),可以将这两个文本组合成数组,对数组进行VLOOKUP匹配,这样就实现多个查找值同时匹配。如果查找值是数字,把T(if) 换成 N(if)。
图10-1:T(if)用于文本查找值