IF 函数多层嵌套时的正确逻辑

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