如图 13-3 所示,A 列为考生姓名,B 列为考试成绩,需要在 C 列返回成绩等级,规则是 60 分以下为不及格,60~79 分为良好,80 分及以上为优秀。
在 C2 单元格输入以下公式,向下填充至 C12 单元格。
IF 函数首先判断 B2 单元格的数值是否小于 60,如果小于 60 则返回“不及格”。如果 B2 单元格的数值大于等于 60,再触发第二个 IF 函数判断 B2 单元格的数值是否小于 80,如果小于 80,即B2 单元格的数值在 60~79 之间,则返回“良好”;如果 B2 单元格的数值不小于 80,即 B2 单元格的数值大于等于 80,则返回“优秀”。
多层 IF 函数嵌套式,要注意嵌套逻辑关系。如果公式算法上存在错误,虽然公式能够正常运算且不返回错误值,但运行后得不到正确结果。
如图 13-4 所示,将等级判断公式改成以下公式后,判断结果将出错。
由于外层 IF 函数判断条件“B2<80”包含了内层 IF 函数判断条件“B2<60”,因而当 B2 单元
格的数值小于 80 时就会返回“良好”,公式将永远无法返回“不及格”。
在对多个条件进行判断时需要注意各个条件是否完整。如图 13-5 所示,等级判断公式改成以下公式,部分判断结果会因为逻辑判断条件不完整而返回 FALSE。
公式中对成绩小于 60 和大于等于 80 的两种情况对应等级进行了设定,对 60~79 之间的成绩对应等级未设定,因此部分结果返回 FALSE。改成以下公式即可返回正确结果。
,