发布网友 发布时间:2022-04-20 08:08
共4个回答
热心网友 时间:2023-05-18 10:40
我们知道,最新的个人所得税起征点是 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
计算方法:个人所得税 = 扣除起征点的纳税金额 * 对应区间税率 - 速算扣除数
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,202,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
热心网友 时间:2023-05-18 10:41
如果收入在B列,个税起征点在C列,那么在D2单元格输入以下公式,得到应税部分
=MAX(B2-C2,0)
公式表示:在B2-C2和0之间取最大值,即收入小于500的不交个人所得税。
在E2单元格输入以下公式,得到个人所得税金额部分
=ROUND(IF(D2<500,D2*0.05,IF(D2<2000,D2*0.1-25,D2*0.15-125)),2)
公式表示:根据应税部分的数额,对应执行相应的税率,超出小数点后面三位的结果保留两位有效数字。
公式也可以直接由收入得到个人所得税,输入
=ROUND(IF(MAX(B2-500,0)<500,MAX(B2-500,0)*0.05,IFMAX(B2-500,0)<2000,MAX(B2-500,0)*0.1-25,MAX(B2-500,0)*0.15-125)),2)
或者不需要使用IF函数嵌套,使用LOOKUP函数
=LOOKUP(MAX(B2-500,0),{0,500,2000},MAX(B2-500,0)*{0.05,0.1,0.15}-{0,25,125})
可以增加更多的嵌套,且公式更加简洁,层次清楚。
热心网友 时间:2023-05-18 10:41
如税前在A1,用:
=ROUND(MAX((A1-3500)*{0.03,0.1,0.2,0.25,0.3,0.35,0.45}-{0,105,555,1005,2755,5505,13505},0),2)
热心网友 时间:2023-05-18 10:42
=ROUND(MAX(IF(A1-3500>{0,1500,4500,9000,35000,55000,80000},{0,105,555,1005,2755,5505,13505}+(A1-3500-{0,1500,4500,9000,35000,55000,80000})*{0.03,0.1,0.2,0.25,0.3,0.35,0.45},0)),2)