Excel if函数三个条件,为何只计算前2个?

请问大家我这个 if函数的三个条件,为何只计算前2个?请大家帮看看问题出在哪里,能否帮我改正过来呢,谢谢!!
=IF(M6>=99%,M6*0.33*1,IF(99%>M6>=96%,M6*0.33*0.8,IF(M6<96%,M6*0.33*0.4)))

后来我改了如下的顺序,但还是计算前两个条件。
=IF(M6<96%,M6*0.33*0.4,IF(99%>M6>=96%,M6*0.33*0.8,IF(M6>=99%,M6*0.33*1)))

IF函数主要有3个参数

IF(logical_test,value_if_true,value_if_false)

即IF(条件判断,成立执行1,不成立执行2)

它的意思是第一参数在进行条件判断是,当条件成立的时候,执行第二参数,条件不成立的时候执行第三参数。IF函数的三个参数可以为函数也可以为常量。下面我们就来学习一下具体的操作。

技巧1:IF函数单一条件判断人员成绩是否及格

说明:当分数>=60,则该同学成绩记为合格,反之为不合格。

函数:=IF(C3>=60,"及格","不及格")

解析:第一参数判断成绩是否>=60,当条件成立时,结果显示为及格,反正记为不及格。

技巧2:多重IF函数嵌套进行多条件判断

说明:当分数<60,成绩记为不合格;分数在60-80区间记为及格;分数大于等于80记为优秀。

函数:

=IF(C4>=80,"优秀",IF(C4>=60,"及格","不及格"))

解析:从大到小进行判断。当第一参数分数>=80,结果记为优秀;反之执行第三参数的第二个IF函数中的判断条件,继续判断分数是否大于等于60,成立记为及格,不成立记为不及格。

技巧3:IF函数与AND函数进行并列条件判断

说明:当两科成绩同时大于80,则成绩记为合格,反之为不合格。

函数:

=IF(AND(C4>80,D4>80),"合格","不合格")

=IF(OR(C4<=80,D4<=80),"不合格","合格")

1、这里AND函数的作用是,当里面的两个条件同时成立的时候,执行IF函数的第二参数,反之执行IF的第三参数;

2、OR函数的作用是,当OR函数里面的2个条件一个不成立的时候,则执行IF函数的第二参数,反之执行第三参数。

技巧4:IF函数多重条件循环判断

说明:当两科成绩同时大于80,且是贫困生的同学会有1000的奖学金。

函数:

=IF(AND(AND(C4>80,D4>80),E4="是"),"1000","0")

解析:这里用到了3重条件判断。也就是在两科成绩同时需要成立,且再对学生性质进行判断一次,最后进行条件判断。当然这里可以函数可以缩减成以下形式:

IF(AND(C4>80,D4>80,E4="是"),"1000","0")
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-07
你第二个if的条件错了
99%>M6>=96%
一个大于号一个大于等于,不能这样用的,必须分开。
AND(99%>M6,M6>=96%)
第2个回答  2019-03-07
原公式语法错误。可改用下面的公式:
=M6*0.33*IFERROR(LOOKUP(M6,{0,0.96,0.99},{0.4,0.8,1}),0)
第3个回答  2019-03-07
=IF(M7<96%,M7*0.33*0.4,IF(M7>=99%,M7*0.33*1,M7*0.33*0.8))
把公式改下本回答被提问者采纳
第4个回答  2019-03-07
可以用if嵌套来实现:=if(A1=1,"通过",if(A1=2,"拒绝","待定")) 由于if嵌套的层数,在2003版及以前,最多只能7层,同时嵌套层数过多时,公式过于冗长,这时用lookup()等函数较为简便,本题: =lookup(A1,{1,2,3},{"通过","拒绝","待定"})
相似回答