excel在执行if函数时显示错误,请帮忙改正公式

=IF(M2<0.5,25,IF(AND(0.5<=M2,M2<1),50,IF(AND(1<=M2,M2<1.5),75,IF(AND(1.5<=M2,M2<2),100,IF(AND(2<=M2,M2<2.5),125,IF(AND(2.5<=M2,M2<3),150,IF(AND(3<=M2,M2<3.5),175,IF(AND(3.5<=M2,M2<4),200,IF(AND(4<=M2,M2<4.5),225,IF(AND(4.5<=M2,M2<5),250,IF(AND(5<=M2,M2<5.5),275,IF(AND(5.5<=M2,M2<6),300,IF(AND(6<=M2,M2<6.5),325,IF(AND(6.5<=M2,M2<7),350,IF(AND(7<=M2,M2<7.5),375,IF(AND(7.5<=M2,M2<8),400,IF(AND(8<=M2,M2<8.5),425,IF(AND(8.5<=M2,M2<9),450,IF(AND(9<=M2,M2<9.5),475,500)))))))))))))))))))

IF函数最多只能嵌套七层,超过七层,需要分断相加.
试试将公式简化为
=min(500,ceiling((A1+0.01)/0.5,1)*25)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-06
=LOOKUP(M2,(ROW(A1:A20)-1)*0.5,ROW(A1:A20)*25)
03版IF函数最多7层,你这个很有规律性,可以用LOOKUP。
第2个回答  2012-11-06
这个公式太长了,你的逻辑是不是从M2 从0.5开始到9.5,M2每增加0.5 ,数值增加25。最低25,最高500。
公式可以简化成:
=if(M2<0.5,25,if(M2>9.5,500,(rounddown(M2*2,0)+1)*25))
第3个回答  2012-11-06
给你举个简单的例子
=if(a2>80,"a",if(a2>70,"b","c"))
当a2中的值大于80就显示a,大于70就显示b,否则就显示c。
注意:双引号是英文状态下的。
第4个回答  2012-11-06
你是不是要这个啊,写了这么多 =IF(m2<0.5,25,ROUND(m2,0)*50)
第5个回答  2012-11-06
IF函数最多只能嵌套七层,超过七层,需要分断相加.
相似回答