时间:2014-10-21 12:42:30 来源: 复制分享
if函数
(一)IF函数说明 IF函数用于执行真假值判断后,根据逻辑测试的真假值返回不同的结果,因此 If函数也称之为条件函数。它的应用很广泛,可以使用函数 IF 对数值和公式进行条件检测。 它的语法为IF(logical_test,value_if_true,value_if_false)。其中Logical_test表示计算结果为 TRUE 或 FALSE 的任意值或表达式。本参数可使用任何比较运算符。 Value_if_true显示在logical_test 为 TRUE 时返回的值,Value_if_true 也可以是其他公式。Value_if_false logical_test 为 FALSE 时返回的值。Value_if_false 也可以是其他公式。 简言之,如果第一个参数logical_test返回的结果为真的话,则执行第二个参数Value_if_true的结果,否则执行第三个参数Value_if_false的结果。IF 函数可以嵌套七层,用 value_if_false 及 value_if_true 参数可以构造复杂的检测条件。 Excel 还提供了可根据某一条件来分析数据的其他函数。例如,如果要计算单元格区域中某个文本串或数字出现的次数,则可使用 COUNTIF 工作表函数。如果要根据单元格区域中的某一文本串或数字求和,则可使用 SUMIF 工作表函数。
(二)IF函数应用
1、 输出带有公式的空白表单
图1 人事分析表1
以图中所示的人事状况分析表为例,由于各部门关于人员的组成情况的数据尚未填写,在总计栏(以单元格G5为例)公式为:
=SUM(C5:F5)
我们看到计算为0的结果。如果这样的表格打印出来就页面的美观来看显示是不令人满意的。是否有办法去掉总计栏中的0呢?你可能会说,不写公式不就行了。当然这是一个办法,但是,如果我们利用了IF函数的话,也可以在写公式的情况下,同样不显示这些0。如何实现呢?只需将总计栏中的公式(仅以单元格G5为例)改写成:
=IF(SUM(C5:F5),SUM(C5:F5),"")
通俗的解释就是:如果SUM(C5:F5)不等于零,则在单元格中显示SUM(C5:F5)的结果,否则显示字符串。
几点说明:
(1) SUM(C5:F5)不等于零的正规写法是SUM(C5:F5)<>0,在EXCEL中可以省略<>0; (2) ""表示字符串的内容为空,因此执行的结果是在单元格中不显示任何字符。
如果对上述例子有了很好的理解后,我们就很容易将IF函数应用到更广泛的领域。比如,在成绩表中根据不同的成绩区分合格与不合格。现在我们就以某班级的英语成绩为例具体说明用法。
图2
某班级的成绩如图6所示,为了做出最终的综合评定,我们设定按照平均分判断该学生成绩是否合格的规则。如果各科平均分超过60分则认为是合格的,否则记作不合格。
根据这一规则,我们在综合评定中写公式(以单元格B12为例):
=IF(B11>60,"合格","不合格")
语法解释为,如果单元格B11的值大于60,则执行第二个参数即在单元格B12中显示合格字样,否则执行第三个参数即在单元格B12中显示不合格字样。
在综合评定栏中可以看到由于C列的同学各科平均分为54分,综合评定为不合格。其余均为合格。
3、 多层嵌套函数的应用
在上述的例子中,我们只是将成绩简单区分为合格与不合格,在实际应用中,成绩通常是有多个等级的,比如优、良、中、及格、不及格等。有办法一次性区分吗?可以使用多层嵌套的办法来实现。仍以上例为例,我们设定综合评定的规则为当各科平均分超过90时,评定为优秀。如图7所示。
图3
说明:为了解释起来比较方便,我们在这里仅做两重嵌套的示例,您可以按照实际情况进行更多重的嵌套,但请注意Excel的IF函数最多允许七重嵌套。
根据这一规则,我们在综合评定中写公式(以单元格F12为例):
=IF(F11>60,IF(AND(F11>90),"优秀","合格"),"不合格")
语法解释为,如果单元格F11的值大于60,则执行第二个参数,在这里为嵌套函数,继续判断单元格F11的值是否大于90(为了让大家体会一下AND函数的应用,写成AND(F11>90),实际上可以仅写 F11>90),如果满足在单元格F12中显示优秀字样,不满足显示合格字样,如果F11的值以上条件都不满足,则执行第三个参数即在单元格F12中显示不合格字样。
在综合评定栏中可以看到由于F列的同学各科平均分为92分,综合评定为优秀