EXCEL中IF函数的运用
2014-02-25夏伟峰
夏伟峰
摘 要 EXCEL系列函数中IF是一种功能强大的函数,其使用范围也非常的广泛。本文不仅将IF函数七层嵌套之内的函数方法进行了详细的介绍,还将IF函数七层嵌套之外的IF语句,放在另外的单元格内来处理的方法和自定义函数的方法来解决任意多分支的计算问题。
关键词 EXCEL IF函数 IF函数嵌套 IF函数七层外嵌套
中图分类号:G714 文献标识码:A 文章编号:1002-7661(2014)03-0021-02
IF函数是EXCEL中最常见、使用最为广泛的函数之一,执行真假值判断,根据逻辑计算的真假值,返回不同结果。可以使用函数 IF 对数值和公式进行条件检测,用好IF函数可以帮助我们完成很多功能。
一、IF函数的常规应用
例子:作为教师对个班学生的考试成绩分析和统计,这需要一个很大的工作量,那么能不能使用IF函数进行自动的计算呢?
下图数据在d 列显示如下结果:如果成绩大于等于60则显示合格,否则显示不合格。那么在d2单元格输人以下公式:
D2=IF(C2>60,“合格”,“不合格”)
D3=IF(C3>60,“合格”,“不合格”)
然后向下自动填充,生成数据,如下图d列效果:
这里需要注意的是if函数必须的条件:每一个if函数必须使用英文的括号括起来,如IF(C2>60,“合格”,“不合格”);括号内为三个数据,第一数据为满足第一个数据后返回的结果,通常使用英文的引号括起来,如“及格”,第三个数据是不满足第一个数据时需要返回的结果,也用英文的引号括起来,如“不及格”。
经常出现的错误:其中的符号如逗号和引号皆为英文,即所谓的半角:f的右括号放在了条件的后面,这是在多个条件使用if函数进行嵌套时非常容易犯的错误。
二、IF函数的嵌套应用
嵌套的含义:C语言中函数的定义都是相互平行、相互独立的,也就是说在函数定义时,函数体内不能包含另一个函数的定义,即函数不能嵌套定义,但可以嵌套调用。嵌套函数,就是指在某些情况下,您可能需要将某函数作为另一函数的参数使用,这一函数就是嵌套函数。例如公式如果使用了嵌套的 AVERAGE 函数,并将结果与 50 相比较。这个公式的含义是:如果单元格F2到F5的平均值大于50,则求F2到F5的和,否则显示数值0。又如,在一个程序中,主函数调用了sum函数,而在sum函数中又调用了mul函数。在一个函数被调用的过程中又调用另一个函数,这就是函数的嵌套调用。如果是函数本身嵌套调用函数本身,那就是函数递归调用了。
对学生的成绩单只简单地分为“及格”和“不及格”,显然太过于粗略,能不能再进一步分析呢?
例子:下图数据,在d列显示如下结果:如果成绩大于等于90则显示优秀,如果大于等于80而小于90则显示良好,如果大于等于60而小于80则显示合格,如果小于60则显示不合格。
这是经典的if嵌套应用例子,需要我们使用if函数的嵌套。if嵌套书写前,首先需要理解要求,并将要求数学化,也就是使用数学的模式表达出来,if函数多重嵌套一般情况下我们可以将它看作分段函数,那么问题就很容易解决了。例子可以在d2单元格使用如下代码:
D2=IF(C2>=90,“优秀”,IF(C2>=80,“良好”,IF(C2>=60,“及格”,“不及格”)))
D3=IF(C3>=90,“优秀”,IF(C3>=80,“良好”,IF(C3>=60,“及格”,“不及格”)))
然后向下自动填充,生成数据,如下图d列效果:
需要注意的是IF嵌套函数书写,我们一般把它分解成几段IF常规函数。如【D2=IF(C2>=90,“优秀”,IF(C2>=80,“良好”,IF(C2>=60,“及格”,“不及格”)))】,它表示,当分数低于60时,显示为不合格,这时在“不及格”逗号的左侧默认就是大于60的情况,那么根据题意,只需再满足低于80即可显示良好,于是我们将最简单的IF函数的第三个数据变成了一个IF函数,依次类推,每一次可以将一个IF函数作为每一个基木函数的第三个数据,从而形成多种嵌套。
另外,在输人公式的时候要注意后括号要和前括号相对应,有几前括号,后面就要输人几个后括号。
三、IF函数的高级应用
IF函数除了可以引用单元格的数据之外,还可以引用函数值或者其他表格甚至是文件的数据。Excel中if函数经常和其他函数组合使用即为IF函数的高级应用,可将if函数与and, min, average等函数同时进行运算。
例1:与and进行函数运算
下图数据在f列显示如下结果:如果成绩1、成绩2、成绩3都大于等于90则显示优秀,否则显示空格。
上述例子是一个典型的if函数使用,满足条件则显示一个结果,不满足显示另一个结果,但是在输人测试条件的时候,不再是一个简单的条件,它需要对3个数据进行条件测试,在这里我们就可以确定主函数是if函数,另外测试条件一也需要一个函数。
方法一:测试条件选择逻辑函数中的and函数。and函数语法:
And(logical1,logical2……)
and函数功能:所有条件都为真值,结果为真,否则结果为假。当3个成绩都满足大于等于90,则显示结果1“优秀”,有1个成绩不满足则显示结果2“空格”。代码如下:
F2=IF(AND(C2>=90,D2>=90,E2>=90),“优秀”, “”)
F3=IF(AND(C3>=90,D3>=90,E3>=90),“优秀”, “”)
然后向下自动填充,生成数据,如下图F列效果:endprint
其中的空格也是文本数据,用双引号括起来。
方法二:测试条件选择常用函数中的min函数。min函数语法:
MIN(NUMBER1,NUMBER2……)
由上题可知,将公式写为:F2=IF(MIN(C2:E2)>=90,“优秀”,“”)F3=IF(MIN(C3:E3)>=90,“优秀”,“”)
然后向下自动填充,生成数据,如下图F列效果可得:
min函数功能:显示所有区域中最小的数值。当3个成绩中最低成
绩大于等于90,则满足条件所有成绩大于等于90。
例2:与average进行运算
下图数据中,如果超过平均值的显示合格,达不到平均值的显示不合格。
函数为:F2=IF(C2>AVERAGE(C2:E2),“合格”,“不合格”)
F3=IF(C3>AVERAGE(C3:E3),“合格”,“不合格”)
然后向下自动填充,生成数据,如下图F列效果可得:
这个函数是这样理解的,当数据c2大于c2到e2所有数据的平均数时,返回合格,否则返回不合格。其中average( )是求平均数函数。
四、超过七层的多条件判断
函数嵌套不能超过7层,不仅是针对IF函数,而是对所有的函数嵌套都要受到这个限制。解决这个问题的方法,不仅适用于IF函数,也使用于其他函数。解决超过7层的判断可有2种方法:一种是通过“+”或“&”连接判断条件,另一种方法是通过定义名称的方法。其实利用VLOOKUP函数或者其他函数可以更简便些,但利用IF函数设置的公式却更容易理解。
方法1:利用“+”或“&”的方法
共有几个判断条件则分为几个独立的部分。每部分都要判断是否成立,如果成立就进行相应的计算,如果不成立就返回FALSE值。因为这些区间没有重复的,所以对于给定的数值只能有一个IF语句是成立的,这个成立的IF语句进行运算并返回值。不成立的IF语句的结果为FALSE值,不影响最后结果。如果判断返回的是文本类型内容,这种情况需要把“+”号改成用“&”连接。使用&连接多个IF函数突破IF函数的7层嵌套的限制,但前提是包含公式的单元格长度不可以超过1024个宇符如果超过1024个宇符,可以通过定义名称来减少公式的长度,但名称的长度最多只可以包含255个宇符;如果使用了自定义名称后公式长度仍然超过1024个宇符,可以将七层之外的IF语句,放在另外的单元格内来处理。公式中的每个IF是个独立的条件,不是嵌套,所以书写时特别注意条件的写法,一定要把每个区间的条件写完整。
另外,if函数除了遵守一般函数的通用规则以外,还有其特有的注意事项。首先括号必须成对出现,前后对应。其次,if函数有N个条件则有N+1个结果,即若结果只有3种情况的,那么条件只要2个就够了。再次,多个if嵌套时,尽量使用同一种逻辑运算符。即:统一使用大于号或者统一使用小于号。避免出现不必要的错误。
参考文献:
[1]徐希.计算机应用基础之函数在EXCEL中的运算[M].北京:高等教育出版社, 2010.
[2]雷强.巧用Excel函数[J]. 咸宁学院报, 2009, (2).
[3]王晓斌.试论Excel的IF函数的规划求解在经济管理中的应用[J].;科技经济市场;2011年08期.
(责任编辑 刘凌芝)endprint
其中的空格也是文本数据,用双引号括起来。
方法二:测试条件选择常用函数中的min函数。min函数语法:
MIN(NUMBER1,NUMBER2……)
由上题可知,将公式写为:F2=IF(MIN(C2:E2)>=90,“优秀”,“”)F3=IF(MIN(C3:E3)>=90,“优秀”,“”)
然后向下自动填充,生成数据,如下图F列效果可得:
min函数功能:显示所有区域中最小的数值。当3个成绩中最低成
绩大于等于90,则满足条件所有成绩大于等于90。
例2:与average进行运算
下图数据中,如果超过平均值的显示合格,达不到平均值的显示不合格。
函数为:F2=IF(C2>AVERAGE(C2:E2),“合格”,“不合格”)
F3=IF(C3>AVERAGE(C3:E3),“合格”,“不合格”)
然后向下自动填充,生成数据,如下图F列效果可得:
这个函数是这样理解的,当数据c2大于c2到e2所有数据的平均数时,返回合格,否则返回不合格。其中average( )是求平均数函数。
四、超过七层的多条件判断
函数嵌套不能超过7层,不仅是针对IF函数,而是对所有的函数嵌套都要受到这个限制。解决这个问题的方法,不仅适用于IF函数,也使用于其他函数。解决超过7层的判断可有2种方法:一种是通过“+”或“&”连接判断条件,另一种方法是通过定义名称的方法。其实利用VLOOKUP函数或者其他函数可以更简便些,但利用IF函数设置的公式却更容易理解。
方法1:利用“+”或“&”的方法
共有几个判断条件则分为几个独立的部分。每部分都要判断是否成立,如果成立就进行相应的计算,如果不成立就返回FALSE值。因为这些区间没有重复的,所以对于给定的数值只能有一个IF语句是成立的,这个成立的IF语句进行运算并返回值。不成立的IF语句的结果为FALSE值,不影响最后结果。如果判断返回的是文本类型内容,这种情况需要把“+”号改成用“&”连接。使用&连接多个IF函数突破IF函数的7层嵌套的限制,但前提是包含公式的单元格长度不可以超过1024个宇符如果超过1024个宇符,可以通过定义名称来减少公式的长度,但名称的长度最多只可以包含255个宇符;如果使用了自定义名称后公式长度仍然超过1024个宇符,可以将七层之外的IF语句,放在另外的单元格内来处理。公式中的每个IF是个独立的条件,不是嵌套,所以书写时特别注意条件的写法,一定要把每个区间的条件写完整。
另外,if函数除了遵守一般函数的通用规则以外,还有其特有的注意事项。首先括号必须成对出现,前后对应。其次,if函数有N个条件则有N+1个结果,即若结果只有3种情况的,那么条件只要2个就够了。再次,多个if嵌套时,尽量使用同一种逻辑运算符。即:统一使用大于号或者统一使用小于号。避免出现不必要的错误。
参考文献:
[1]徐希.计算机应用基础之函数在EXCEL中的运算[M].北京:高等教育出版社, 2010.
[2]雷强.巧用Excel函数[J]. 咸宁学院报, 2009, (2).
[3]王晓斌.试论Excel的IF函数的规划求解在经济管理中的应用[J].;科技经济市场;2011年08期.
(责任编辑 刘凌芝)endprint
其中的空格也是文本数据,用双引号括起来。
方法二:测试条件选择常用函数中的min函数。min函数语法:
MIN(NUMBER1,NUMBER2……)
由上题可知,将公式写为:F2=IF(MIN(C2:E2)>=90,“优秀”,“”)F3=IF(MIN(C3:E3)>=90,“优秀”,“”)
然后向下自动填充,生成数据,如下图F列效果可得:
min函数功能:显示所有区域中最小的数值。当3个成绩中最低成
绩大于等于90,则满足条件所有成绩大于等于90。
例2:与average进行运算
下图数据中,如果超过平均值的显示合格,达不到平均值的显示不合格。
函数为:F2=IF(C2>AVERAGE(C2:E2),“合格”,“不合格”)
F3=IF(C3>AVERAGE(C3:E3),“合格”,“不合格”)
然后向下自动填充,生成数据,如下图F列效果可得:
这个函数是这样理解的,当数据c2大于c2到e2所有数据的平均数时,返回合格,否则返回不合格。其中average( )是求平均数函数。
四、超过七层的多条件判断
函数嵌套不能超过7层,不仅是针对IF函数,而是对所有的函数嵌套都要受到这个限制。解决这个问题的方法,不仅适用于IF函数,也使用于其他函数。解决超过7层的判断可有2种方法:一种是通过“+”或“&”连接判断条件,另一种方法是通过定义名称的方法。其实利用VLOOKUP函数或者其他函数可以更简便些,但利用IF函数设置的公式却更容易理解。
方法1:利用“+”或“&”的方法
共有几个判断条件则分为几个独立的部分。每部分都要判断是否成立,如果成立就进行相应的计算,如果不成立就返回FALSE值。因为这些区间没有重复的,所以对于给定的数值只能有一个IF语句是成立的,这个成立的IF语句进行运算并返回值。不成立的IF语句的结果为FALSE值,不影响最后结果。如果判断返回的是文本类型内容,这种情况需要把“+”号改成用“&”连接。使用&连接多个IF函数突破IF函数的7层嵌套的限制,但前提是包含公式的单元格长度不可以超过1024个宇符如果超过1024个宇符,可以通过定义名称来减少公式的长度,但名称的长度最多只可以包含255个宇符;如果使用了自定义名称后公式长度仍然超过1024个宇符,可以将七层之外的IF语句,放在另外的单元格内来处理。公式中的每个IF是个独立的条件,不是嵌套,所以书写时特别注意条件的写法,一定要把每个区间的条件写完整。
另外,if函数除了遵守一般函数的通用规则以外,还有其特有的注意事项。首先括号必须成对出现,前后对应。其次,if函数有N个条件则有N+1个结果,即若结果只有3种情况的,那么条件只要2个就够了。再次,多个if嵌套时,尽量使用同一种逻辑运算符。即:统一使用大于号或者统一使用小于号。避免出现不必要的错误。
参考文献:
[1]徐希.计算机应用基础之函数在EXCEL中的运算[M].北京:高等教育出版社, 2010.
[2]雷强.巧用Excel函数[J]. 咸宁学院报, 2009, (2).
[3]王晓斌.试论Excel的IF函数的规划求解在经济管理中的应用[J].;科技经济市场;2011年08期.
(责任编辑 刘凌芝)endprint