一、 函数说明
IF:根据条件判断结果。判断是否满足某个条件,如果满足返回一个值,如果不满足返回另一个值。
IF函数判断执行流程图
二、 函数语法
IF(判断条件,满足条件返回值,不满足条件返回值)
注意:2003版函数最多嵌套7层,2007版及以上版本函数最多嵌套64层(这个限制不是针对IF函数,而是所有函数的嵌套均受这个限制,后面会讲解决方法)。
三、 函数注意事项
1、如果 IF 的任意参数为数组,则在执行 IF 语句时,将计算数组的每一个元素;
2、如果是多个条件同时判断,可以配合OR函数或者AND函数使用;
3、OR函数:有真即为真(也可以用:条件1+条件2+条件3+…)
4、AND函数:有假即为假(也可以用:条件1×条件2×条件3×…)
四、 函数限制
1、03版及更早版本格式的文件,函数最多支持7层嵌套;
2、07版及更高的版本格式文件,函数最多支持64层嵌套;
3、注意这里的版本,指的是软件版本,而不是指文件格式(用高版本程序打开xls格式的文件,可以嵌套超过7层,但是当用03版程序打开文件的时候会显示错误);
4、突破参数个数限制的方法:①用07及以上版本的程序;②分段嵌套做IF判断,然后用【&】符号连接;③通过定义名称的方式,把复杂嵌套定义成名称,然后再引用这个名称。(由于现在用地版本软件的人已经不多了,函数嵌套7层的限制基本可以忽略了,如果有需要解决此问题,可以关注我,然后给我私信,我根据具体问题给具体的方案)。
五、 函数基础应用
1、单条件判断(销售额≥1.5万的算达标,判断每个人的销售额是否达标)
公式:=IF(C3>=1.5,"达标","不达标")。
判断销售额,例如黄兴明的销售额是1.2万元,小于达标要求的1.5万元,故结果为不达标。
2、多条重复条件判断(根据科目代码,判断科目名称)
=IF(B24=1001,"库存现金",IF(B24=1002,"银行存款",IF(B24=1003,"结算备付金",IF(B24=1004,"存出保证金",))))
用IF函数逐一判断条件单元格的值与科目代码是否一致,如果一致则显示对应的科目名称。这个仅用于条目较少的情况,若条目较多,建议用VLOOKUP、LOOKUP、INDEX+MATCH、INDRECT+MATCH、OFFSET等函数来实现。
注:多条件判断时,注意括号的位置,右括号都在最后,有几个IF就输入几个右括号。
3、多区间判断(根据成绩判断不及格、及格、良好、优秀)
=IF(C29<60,"不及格",IF(C29<75,"及格",IF(C29<85,"良好","优秀")))
①第一个IF判断小于60分的和大于等于60分的情况,小于60分的返回不及格;
②第二个IF在60≤分数≤100区间中,判断分数是否小于75,小于75分的返回及格;
③第三个IF在75≤分数≤100区间中,判断分数是否小于85,小于85分的记为良好,大于等于85分的返回优秀。
注:IF在进行区间判断时,数字要按一定的顺序判断,比如本例中的从小到大;本例同样可以用LOOKUP函数实现,后面在分项LOOKUP函数的时候,会详细解释。
4、多条件并列判断(判断各科分数是否均达到对应分数要求,返回相应的结果)
=IF(AND(C44>=120,D44>=120,E44>=120),"优秀",IF(AND(C44>=105,D44>=105,E44>=105),"良好",IF(AND(C44>=90,D44>=90,E44>=90),"及格","不及格")))
①以优秀为例,分别判断语文、数学、英语的成绩,是否大于等于120分,大于等于120分的返回TRUE;
②用AND函数,判断分数判断结果是否全部为TRUE,如果全部为TRUE,则AND函数返回结果为TRUE;
③判断优秀时,如果AND函数得到TRUE,则IF函数返回结果为优秀;同理,判断良好、及格、不及格均以这样的思路。
六、 函数高级应用
1、IF({1,0},区域1,区域2) 揉合函数
IF({1,0},,)函数示例
揉合函数应用案例:根据科目名称判断科任教师姓名。
=VLOOKUP(B73,IF({1,0},C59:C70,B59:B70),2,)
揉合函数属于数组范畴,初学者理解起来有难度,可以先记住公式写法;对于这样的题目或要求,好可以用LOOKUP、INDEX+MATCH、INDRECT+MATCH、OFFSET等函数来实现。另外,揉合函数还可以用CHOOSE函数来实现,在后面会有一篇文章专门分享揉合函数。