关于在Excel中用lookup函数计算个人所得税

[复制链接]
查看11 | 回复2 | 2008-5-29 17:26:07 | 显示全部楼层 |阅读模式
用公式“=LOOKUP(A1,{0,500,2000,5000,20000,40000,60000,80000,100000;0.05,0.1,0.15,0.2,0.25,0.3,0.35,0.4,0.45})”可以查找税率,把这个公式后面的税率再分别改成速算扣除数则可以再查找出扣除数
这样,计算个人所得税应该是可行的,而且比IF的多层嵌套要简化许多。
可是,存在一个问题:
扣除起征点后的应纳税所得额不超过500的税率应该为5%,但用这个公式查500元的税率为10%,为解决这个问题,曾考虑把数列(0,500,2000,5000,20000,40000,60000,80000,100000)改成(0,500.01,2000.01……100000.01),可是感觉不科学。
求解决办法!!!
lmbuaa的超牛答案我已到ExcelHome看了,真的超牛,其实是否看得懂这个公式的关键取决于个人的数学功底子,我等只能生搬了!
不过,我还想知道这个用lookup的问题解决方案

回复

使用道具 举报

千问 | 2008-5-29 17:26:07 | 显示全部楼层
用这个公式试试:=ROUND(MAX((A1-2000)*0.05*{1,2,3,4,5,6,7,8,9}-25*{0,1,5,15,55,135,255,415,615},0),2)另外你的公式我觉得可以把A1改成A1-0.00001就可以了,当然这就得多处理一个为0的情况罢了。补充一:我上面不写了另外吗?不过我确实没试过,不知是不是行,你先试试吧,有问题再讨论 :)
回复

使用道具 举报

千问 | 2008-5-29 17:26:07 | 显示全部楼层
我习惯于使用IF嵌套
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行