该excel中的IF函数是否有误?

=IF(B9<0,"0",IF(B9<=500,"0.05",IF(B9<=2000,"0.10",IF(B9<=5000,"0.15",IF(B9<=20000,"0.20",IF(B9<=40000,"0.25",IF(B9<=60000,"0.30",IF(B9<=80000,"0.35",IF(B9<=100000,"0.40","0.45")))))))))
老是报错,迷惑不解

首先,如果是数值。可以直接写,不用" ",
其次,IF函数嵌套超过了七层。

楼上的解释“你这个公式肯定是错误的!
最后一层:如果小于等于100000,显示0.40,否则显示0.45;
那么你输入600怎么显示呢?是显示0.40呢还是显示0.10呢?因为你这里有一层的条件是:
IF(B9<=2000,"0.10",……”是错误的!

如果是600,在第三层判断后,就会赋予“0.10”,“0.40”是为>80000,<=100000时准备的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-07-22
你这个公式肯定是错误的!
最后一层:如果小于等于100000,显示0.40,否则显示0.45;
那么你输入600怎么显示呢?是显示0.40呢还是显示0.10呢?因为你这里有一层的条件是:
IF(B9<=2000,"0.10",……

想明白了吗?

帮你修改下你的公式:
假设A1:B9的数据如下:
0 0
500 0.05
2000 0.1
5000 0.15
20000 0.2
40000 0.25
60000 0.3
80000 0.35
100000 0.4
现在在 C1里有你的数值,假设是2860,求它对应的系数,那么如次写公式:
=IF(C1<=0,0,IF(C1>100000,0.45,LOOKUP(C1,$A$1:$B$9)))
试试这个公式撒!
第2个回答  2009-07-22
IF最多可用七层,你的超过了。
第3个回答  2009-07-22
一看就知道是算个人所得税用的公式,有个现成的用用试试,因为最多可嵌七层,且一般也不能发那么多工资,这些就足够用了,如果不够用的话我的还可再加上三层ROUND(IF(AH3>5000,AH3*20%-375,IF(AH3>2000,AH3*15%-125,IF(AH3)>500,AH3*10%-25,IF(AH3>0,AH3*5%,0)))),2),其中AH3为扣除2000后的钱。希望能帮上你的小忙
相似回答