现在位置:首页 > Excel相关 > Excel函数 > 函数365之IF函数:爱情没有如果,函数却有IF

函数365之IF函数:爱情没有如果,函数却有IF

一村之长  Excel函数  2017-4-5  595  0评论
函数名称:IF

函数作用:根据判断条件是否成立返回相应的结果,每个IF会有两种可能的结果。

函数语法:=IF(逻辑判断,逻辑判断成立/TRUE时的值,逻辑判断不成立/FALSE时的值)

注意事项:
1、第1参数为必选参数,表示计算结果可能为TRUE或FALSE的任意值或表达式;
2、当第1参数的结果为0时,等同于FALSE;当第1参数的结果为非0数值时,等同于TRUE;
3、第2参数为可选参数,该参数表示当第1参数为TRUE返回的结果;
4、第3参数为可选参数,该参数表示当第1参数为FALSE返回的结果;
5、Excel2003版本只支持7层IF的嵌套,Excel2007及以上的版本支持64层IF的嵌套。

函数应用:
实例1、根据下表B列的分数判断是否及格,当分数大于等于60分显示“及格”,否则显示“不及格”,如C列所示。
1.png
函数公式:C2单元格输入 =IF(B2>=60,"及格","不及格"),公式下拉即可
解释说明:
1、当需要根据一个条件判断返回两种不同的结果时,我们选择用IF函数;
2、第1参数将B2单元格与60分做比较,用了比较运算符大于等于号“>=”,如果成立返回TRUE,不成立则返回FALSE;
3、根据语法当第1参数为TRUE,则IF结果为第2参数,如果第1参数为FALSE,则IF结果为第3参数,分别对应我们IF公式里面的“及格”和“不及格”。
4、本题公式也可以写成=IF(B2<60,"不及格","及格"),具体逻辑可以自行判断一下。

实例2、根据下表B列的分数判断等级,当分数大于大于90分时为A级,大于70分小于等于90分时为B级,大于等于60分小于等于70分时为C级,小于60分时为D级,如C列所示。
2.png
函数公式:C2单元格输入 =IF(B2>90,"A",IF(B2>70,"B",IF(B2>=60,"C","D"))),公式下拉即可
解释说明:
1、根据逻辑关系我们先判断是否大于90,如果成立则IF结果为A(第2参数),否则就再嵌套一个IF继续判断(第1个IF的第3参数);
2、剩下的都是小于等于90的,我们再判断是否大于70,如果成立则IF结果为B(第2个IF的第2参数),否则就再嵌套一个IF继续判断(第2个IF的第3参数);
3、剩下的都是小于等于70的,我们再判断是否大于等于60,如果成立则IF结果为C(第3个IF的第2参数),否则结果就为D(第3个IF的第3参数);
4、注意参数为文本要用双引号,所以ABCD都用了双引号,本题也可以写成=IF(B2<60,"D",IF(B2<=70,"C",IF(B2<=90,"B","A")))。

实例3、下表为某班部分学生的体育考试成绩,根据规定,男同学必须60分以上女同学必须50分以上才能及格,否则就要重考,请用函数判断这些学生是否及格还是需要重考,如D列所示。
3.png
函数公式:D2单元格输入 =IF(OR(AND(B2="男",C2>60),AND(B2="女",C2>50)),"及格","重考"),公式下拉即可
解释说明:
1、根据题目要求男同学必须大于60分,所以这里就有两个条件,一个条件是男同学,另一个条件是大于60分,两个条件要同时成立才及格,所以用AND对两个条件进行判断“AND(B2="男",C2>60)”,同理对于女同学的判断“AND(B2="女",C2>50)”;
2、不管是男同学满足大于60分或者是女同学满足大于50分最终结果都是及格,相当于两个条件满足一个,所以用OR函数判断“OR(AND(B2="男",C2>60),AND(B2="女",C2>50))”;
3、根据最终OR的判断用IF函数,如果OR结果为TRUE则IF结果为“及格”,如果OR结果为FALSE则IF结果为“重考”;
4、本题公式也可以写成=IF(OR(AND(B2="男",C2<=60),AND(B2="女",C2<=50)),"重考","及格")。

实例4、根据下表A、B、C列数据,然后按照指定客户统计该客户销售总和。
4.png
函数公式:F2单元格输入 =SUM(IF(B2:B11=E2,C2:C11,0)),数组公式CTRL+SHIFT+回车键三键结束公式。
解释说明:
1、首先判断姓名列B2:B11区域内与我们要统计的客户姓名E2是否相等,如果相等则返回销量列C2:C11对应的值,否则就返回结果0;
2、然后用SUM函数对IF的所有结果进行求和,就可以得到答案,这不是SUMIF,这是SUM+IF

实5、根据下表的信息统计年龄小于30岁的人数。
5.png
函数公式:D2单元格输入 =SUM(IF(B2:B11<30,1,0)),数组公式CTRL+SHIFT+回车键三键结束公式。
解释说明:
1、首先判断年龄列B2:B11区域内的数值是否小于30,如果小于则返回1,表示1个符合的人员,否则就返回结果0; 2、然后用SUM函数对IF的所有结果进行求和,就可以得到答案,这不是COUNTIF,这是SUM+IF

实例6、根据下表的姓名和对应的学号,然后按照指定学号查找对应的姓名。
6.png
函数公式:E2单元格输入 =VLOOKUP(D2,IF({1,0},B2:B11,A2:A11),2,0)
解释说明:
1、前面语法说过,IF的第1参数0相当于FALSE,1相当于TRUE,所以IF({1,0},B2:B11,A2:A11)会分别取得学号列和姓名列然后重新构建一个学号在左姓名在右的数组区域,然后就可以通过VLOOKUP函数进行查找了。
2、这里公式也可以写成=VLOOKUP(D2,IF({0,1},A2:A11,B2:B11),2,0)。

实例7、根据下表的姓名和对应的科目,然后根据指定的姓名查找所有对应的科目,如E列所示。
7.png
函数公式:E2单元格输入 =IFERROR(INDEX(B:B,SMALL(IF($A$2:$A$11=$D$2,ROW($2:$11),9^9),ROW(A1))),""),数组公式CTRL+SHIFT+回车键三键结束公式,公式下拉
解释说明:
1、首先判断姓名列A2:A11区域内与我们要查找的姓名D2是否相等,如果相等则返回该单元格所在的行号ROW($2:$11),否则就返回结果9^9(这是一个极大的数,超出工作表最大行数的数);
2、IF的结果有两种,一种是符合条件的姓名/科目所在的行号的数值,另一种是9^9,我们用SMALL函数将IF的所有结果按从小到大依次取出来;
3、然后用INDEX函数以SMALL的结果作为行号来返回引用结果,如果满足条件的就会返回正确结果,不满足条件的INDEX(B:B,9^9)将会返回#REF!错误值,因为超出了引用;
4、最后用IFERROR函数对错误值进行纠错,将错误值变成空格。


2.png

评论一下 分享本文 联系站长
我的Excel
看完文章就评论一下!
挤眼 亲亲 咆哮 开心 想想 可怜 糗大了 委屈 哈哈 小声点 右哼哼 左哼哼 疑问 坏笑 赚钱啦 悲伤 耍酷 勾引 厉害 握手 耶 嘻嘻 害羞 鼓掌 馋嘴 抓狂 抱抱 围观 威武 给力
提交评论

清空信息
关闭评论