用IF函数区分成绩等第 如果公式=IF(A18>=60,"及格",IF(A18>=80,"良好",IF(A18>=90,"优秀","不及格")))

2024-11-30 06:45:04
推荐回答(4个)
回答1:

=IF(AND(A18>=60,A18<80),"及格",IF(AND(A18>=80,A18<90)"良好",IF(A18>=90,"优秀","不及格")))

IF函数是逐个向后判断的,当第一个条件满足时,显示第一个结果;如果不满足,则向后判断,在你的第一个公式中,因为第一个条件为A18>=60,"及格",也就是,当>=80(如85)及当>=90(如95)时,均是满足A18>=60这个条件的,就会显示为该条件下的结果"及格"了,只有当<60时,不满足该条件了,就会显示“不及格”了。

回答2:

简而言之:第一个公式的错误在于,大于等于60的分数 最终不一定评为'及格'。


主要是因为EXCEL中IF函数是`由外向内,由左向右`计算的。

第一个函数

=IF(A18>=60,"及格",IF(A18>=80,"良好",IF(A18>=90,"优秀","不及格")))

这个函数的运行过程是:先看 `A18` 和 `60` 之间的关系,如果 大于等于 60 那么直接忽略后面所有的,返回一个`及格`,否则返回 第二个IF的结果。

=IF(A3<60,"不及格",IF(A3<80,"及格",IF(A3<90,"良好","优秀")))

第二个函数保证了从左向右判断。因为 `小于60分`如果成立,那么没有子问题,不用再判断。

在你考虑用多个IF分类讨论的时候,确保每个情况的条件正确。

回答3:

前一个公式,当成绩>=60时,返回“及格”,不会再执行后面的IF

回答4:

用大于号的时候,要从大到小判断,用小于号的时候要从小到大判断。