Excel中的IF公式超7层设置
2010-10-01 21:16:13 来源:WEB开发网核心提示:在许多用户在使用 Excel中的 IF公式设置,可以非常高效的简化工作数据处理,Excel中的IF公式超7层设置,但由于 IF公式在设计时限制了层数(在 Excel中 IF本身只能嵌套 7层),所以导致在许多应用中无法正常使用(如计算个人所得税),从而扩展 IF公式的使用层数,对于上表数据建立 IF公式如下:=IF(L
在许多用户在使用 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))))
)
希望通过此案例告诉大家:公式可以进行变通使用,在默认方式无法实现时,可以进行转化实现!!
赞助商链接