iamlaosong文
我们知道,最新的个人所得税起征点是 3500元,税率从3%到45%,分有7个等级,为提高计算速度,与不同税率相对应有7个速算扣除数,如下表所示:
级数 | 含税级距 | 不含税级距 | 税率 | 速算 |
(%) | 扣除数 | |||
1 | 不超过1500元的 | 不超过1455元的 | 3 | 0 |
2 | 超过1500元至4500元的部分 | 超过1455元至4155元的部分 | 10 | 105 |
3 | 超过4500元至9000元的部分 | 超过4155元至7755元的部分 | 20 | 555 |
4 | 超过9000元至35000元的部分 | 超过7755元至27255元的部分 | 25 | 1005 |
5 | 超过35000元至55000元的部分 | 超过27255元至41255元的部分 | 30 | 2755 |
6 | 超过55000元至80000元的部分 | 超过41255元至57505元的部分 | 35 | 5505 |
7 | 超过80000元的部分 | 超过57505元的部分 | 45 | 13505 |
计算方法:个人所得税 = 扣除起征点的纳税金额 * 对应区间税率 - 速算扣除数
顺便说一下速算扣除数是怎么来的,假定收入是X:
第二档:所得税=(X-1500)*10%+1500*3%=X*10%-1500*(10%-3%)=X*10%-105
第三档:所得税=(X-4500)*20%+(4500-1500)*10%+1500*3%=X*20%-4500*10%-1500*7%=X*10%-555
由此类推得公式:所得税=X*所达档百分比-SUM(档起点*本档与上档百分比差)
=X*所达档百分比-(本档起点*本档与上档百分比差+上档扣除数)
第四档:所得税=X*25%-( 9000*(25%-20%)+ 555 ) = X*25-1005
第五档:所得税=X*30%-(35000*(30%-25%)+1005) = X*30%-2755
第六档:所得税=X*35%-(55000*(35%-30%)+2755) = X*35-5505
第七档:所得税=X*45%-(80000*(45%-35%)+5505) = X*45%-13505
1、为了计算个人所得税,首先想到的就是用IF公式,分7个区间进行判断计算,公式老长了,如下所示:
=IF(J50<=0, 0, IF(J50<=1500, J50*3%, IF(J50<=4500, J50*10%-105, IF(J50<=9000, J50*20%-555, IF(J50<=35000,J50*25%-1005, IF(J50<=55000,J50*30%-2755, IF(J50<=80000, J50*35%-5505, J50*45%-13505)))))))
其中J50存放的是纳税金额,即扣除起征点3500后剩下的金额。
2、有人巧用MAX函数,发明了里一个简洁公式,公式如下:
=MAX(J50*{3,10,20,25,30,35,45}% - {0,105,555 ,1005,2755,5505,13505}, 0)
{0.03,0.1,0.2,0.25,0.3,0.35,0.45} 是个税7个区间的税率,是一个数组;
{0,105,555 ,1005,2755,5505,13505}是7个区间的速算扣除数,也是一个数组;
数组计算后得到7个数,因为存在了纳税额<0的情况,即工资不满3500的,就在MAX函数中添了一个“0”的值,保证计算税额的公式中J50为负数时,用MAX求最大不会出现负数。
J50*{3,10,202,25,30,35,45}% - {0,105,555 ,1005,2755,5505,13505}是纳税额*各级个税税率 - 应扣额后的数字。
如果税率对应的级别<=纳税额时,税率越大税额越大,符合所缴税款和所得相匹配的原理。
如果税率对应的级别>纳税额时,税率越大税额越小,因为扣减了超额的扣除数。
这样保证了,缴税数组里最大的那个一定是最符合相应税率的。
将公式中的公因子5提出来,可以简化一下公式(其实就是将数组中的数变小一点):
=5*MAX(J50*{0.6,2,4,5,6,7,9}% - {0,21,111,201,551,1101,2701}, 0)
3、上面的J50是扣除3500之后的纳税金额,如果加上这3500,计算公式是什么样呢?
假定J50=K50-3500,则K50是含起征点的纳税金额,即应发工资扣除三险一金(养老保险、医疗保险、失业保险、住房公积金)之后的余额,公式做如下变换:
=5*MAX(J50*{0.6,2,4,5,6,7,9}% - {0,21,111,201,551,1101,2701}, 0)
=5*MAX((K50-3500)*{0.6,2,4,5,6,7,9}% - {0,21,111,201,551,1101,2701}, 0)
=5*MAX(K50*{0.6,2,4,5,6,7,9}% - 3500*{0.6,2,4,5,6,7,9}% - {0,21,111,201,551,1101,2701}, 0)
=5*MAX(K50*{0.6,2,4,5,6,7,9}% - {21,70,140,175,210,245,315} - {0,21,111,201,551,1101,2701}, 0)
=5*MAX(K50*{0.6,2,4,5,6,7,9}% - {21,91,251,376,761,1346,3016} , 0)
4、可以在外面套一个ROUND函数,四舍五入到2位小数,即:
=ROUND(5*MAX(J50*{0.6,2,4,5,6,7,9}% - {0,21,111,201,551,1101,2701}, 0), 2)
或
=ROUND(5*MAX(K50*{0.6,2,4,5,6,7,9}% - {21,91,251,376,761,1346,3016} , 0), 2)
其中J50和K50的关系为J50=K50-3500