在许多用户在使用Excel中的IF公式设置,可以非常高效的 简化工作数据处理,但由于IF公式在设计时限制了层数(在Excel中IF本身只能嵌套7层),所以导致在许多应用中无法正常使用(如计算个人所得税)。下为新的个人所得税率表:
级数 | 全月应纳税所得额 | 税率% | 速算扣除法(元) |
1 |
不超过500元的
| 5 | 0 |
2 |
超过500元至2000元的部分
| 10 | 25 |
3 |
超过2000元至5000元的部分
| 15 | 125 |
4 |
超过5000元至20000元的部分
| 20 | 375 |
5 |
超过20000元至40000元的部分
| 25 | 1375 |
6 |
超过40000元至60000元的部分
| 30 | 3375 |
7 |
超过60000元至80000元的部分
| 35 | 6375 |
8 |
超过80000元至100000元的部分
| 40 | 10375 |
9 |
超过100000元的部分
| 45 | 15375 |
此时利用IF由于限制无法直接进行计算。所以许多朋友会建议利用VBA实现。其实通过优化IF公式,其本身也可以实现。
其实大家都IF公式格式:IF(条件,成立计算,不成立计算),所以对此类非常复杂的分支计算,建议可以进行分段计算,如上表数据以级数5进行分支,20000元以下为一大分类,40000以上为另一大分大,从而扩展IF公式的使用层数,
对于上表数据建立IF公式如下:
=IF(L4<=20000,
IF(L4>5000,K4*0.2-375,IF(L4>2000,K4*0.15-125,IF(L4>500,K4*0.05,0))),
IF(L4<=40000,K4*0.25-1375,IF(L4<=60000,K4*0.3-3375,IF(L4<=80000,K4*0.35-6375,IF(L4<=100000,K4*0.4-10375,K4*0.45-15375))))
)
希望通过此案例告诉大家:公式可以进行变通使用,在默认方式无法实现时,可以进行转化实现!!