excel 分段函数公式

不超过1万元的,每件交纳50元;
超过1万元至10万元的部分,按照2.5%交纳;
超过10万元至20万元的部分,按照2%交纳;
超过20万元至50万元的部分,按照1.5%交纳;
超过50万元至100万元的部分,按照1%交纳;
超过100万元至200万元的部分,按照0.9%交纳;
超过200万元至500万元的部分,按照0.8%交纳;
超过500万元至1000万元的部分,按照0.7%交纳;
超过1000万元至2000万元的部分,按照0.6%交纳;
超过2000万元的部分,按照0.5%交纳。

请问上面这段文字,在excel中如何用函数表达?

之前我编过一段函数IF(C8<10000,50,IF(C8<100000,C8*0.025-200,IF(C8<200000,C8*0.02+300,IF(C8<500000,C8*0.015+1300,IF(C8<1000000,C8*0.01+3800,IF(C8<2000000,C8*0.009+4800,IF(C8<5000000,C8*0.008+6800,IF(C8<10000000,C8*0.007+11800,IF(C8<=20000000,C8*0.006+21800,IF(C8>20000000,C8*0.005+41800))))))))),但是这个函数在之前版本的excel中好用,现在用的话,显示超过最多嵌套层数(最多好像7层),所以总显示公式错误,不能使用了。

问题如下:1、如何能在if函数7层嵌套内表达这个函数?2、如果结合lookup函数,该怎么表达?3、使用宏的话怎么操作(这个完全不会,如果有高手会的话,请详细指导,或指导一下哪里有这方面的教程)?多谢了。

=LOOKUP(A1,{0,10000,100000,200000,500000,1000000,2000000,5000000,10000000,20000000},{50,50,2300,4300.88,13800,22800,46800,81800,141800})+(A1-LOOKUP(A1,{0,10000,100000,200000,500000,1000000,2000000,5000000,10000000,20000000}))*LOOKUP(A1,{0,10000,100000,200000,500000,1000000,2000000,5000000,10000000,20000000},{0,0,0.025,0.02,0.015,0.01,0.009,0.008,0.007,0.006})

由于是逐段增加的,所以,需要得到每段的基本费用

如图用公式算出了每段的基本费用作为参照


附件请参考


温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-01-28
楼主,您好。
我假设您的数据是在A1,B1是您想要的结果,请在B1中输入下面公式:
=IF(A1<=10000,50,A1*VLOOKUP(A1,{10000.01,0.025;100000.01,0.02;200000.01,0.015;500000.01,0.01;1000000.01,0.009;2000000.01,0.008;5000000.01,0.007;10000000.01,0.006;20000000.01,0.005},2,1))

如果您的数据不是在A1内,请自行将上边公式中A1改成数据所在位置的单元格。

另注:不知道您用的EXCEL是什么版本,如果是07或以后版本用IF嵌套可以64层追问

我是2010版本的啊,嵌套不了啊。九层就完蛋了。我隐约觉得以前版本低的时候反而可以。

追答

不好意思,我刚注意到您的IF里边还有加的数字,请用下面公式:
=IF(A1<=10000,50,A1*VLOOKUP(A1,{10000.01,0.025;100000.01,0.02;200000.01,0.015;500000.01,0.01;1000000.01,0.009;2000000.01,0.008;5000000.01,0.007;10000000.01,0.006;20000000.01,0.005},2,1)+VLOOKUP(A1,{10000.01,-200;100000.01,300;200000.01,1300;500000.01,3800;1000000.01,4800;2000000.01,6800;5000000.01,11800;10000000.01,21800;20000000.01,41800},2,1))

追问

多谢了!这个是对的!

追答

刚有朋友提到了Product, 再贡献给楼主另外一个sumproduct来做的公式:
=SUMPRODUCT((A1>20000000)*(A1*0.005+41800)+(A110000000)*(A1*0.006+21800)+(A15000000)*(A1*0.007+11800)+(A12000000)*(A1*0.008+6800)+(A11000000)*(A1*0.009+4800)+(A1500000)*(A1*0.01+3800)+(A1200000)*(A1*0.015+1300)+(A1100000)*(A1*0.02+300)+(A110000)*(A1*0.025-200)+(A10.01)*50)

本回答被提问者采纳
第2个回答  2015-01-28

=IF(C2<10000,VLOOKUP(C2,$F$2:$H$11,2,TRUE),IF(C2<100000,VLOOKUP(C2,$F$2:$H$11,2,TRUE)*C2-VLOOKUP(C2,$F$2:$H$11,3,TRUE),VLOOKUP(C2,$F$2:$H$11,2,TRUE)*C2+VLOOKUP(C2,$F$2:$H$11,3,TRUE)))

追问

也非常感谢您的指点。不过好像只能采纳一个答案,不好意思啦。不过你的回答给我的帮助也很大啊。

第3个回答  2015-01-27
用product()函数追问

product()不行吧?

相似回答