个人所得税的Excel函数计算公式整理

个人所得税的Excel函数计算公式在网络论坛上讨论较多,正误混杂,新人难以分辨。在现实中很难找到这方面的经典计算方法,小编作为个税计算资深人士,给大家归纳总结一下计算方法,给大家拓展函数使用的技巧和思路。如有错误,请批评指正!(更多详细信息,请联系个人所得税网站)
一、个税计算最新税率表
级数         全月应纳税所得额                税率   扣除数 
1       不超过1500元的                      3%      0 
2       超过1500元至4500元的部分        10%      105 
3       超过4500元至9000元的部分        20%      555 
4       超过9000元至35000元的部分      25%      1005 
5       超过35000元至55000元的部分    30%      2755 
6       超过55000元至80000元的部分    35%      5505 
7       超过80000元的部分                   45%      13505 

二、IF函数嵌套计算方法
由于新个税税率调整,等级也由九级调整到七级,起征点调整到3500元,所以,所以公式判断要比原来简单多了。例如:A1单元格为工薪收入(未扣除起征点3500元),则公式为: 
=IF(A1>=83500,(A1-3500)*45%-13505,IF(A1>=58500,(A1-3500)*35%-5505,IF(A1>=38500,(A1-3500)*30%-2755,IF(A1>=12500,(A1-3500)*25%-1005,IF(A1>=8000,(A1-3500)*20%-555,IF(A1>=5000,(A1-3500)*10%-105,IF(A1>3500,(A1-3500)*3%,))))))) 
变换公式:  
=IF(A1<>"",ROUND(IF(AND(A1>0,A1<=3500),0,SUM(IF((A1-3500>={0;1500;4500;9000;35000;55000;80000})+(A1-3500<{1500;4500;9000;35000;55000;80000;10000000})=2,(A1-3500)*{3;10;20;25;30;35;45}%-{0;105;555;1005;2755;5505;13505},0))),2),) 
抽水简化:
=IF(A1<>"",ROUND(IF(AND(A1>0,A1%<=35),0,SUM(IF((A1%-35>={0;15;45;90;350;550;800})+(A1%-35<{15;45;90;350;550;800;100000})=2,(A1-3500)*{3;10;20;25;30;35;45}%-{0;105;555;1005;2755;5505;13505},0))),2),)  
由于IF使用太多,会让人绕晕,而且公式也很烦琐,容易出错,但初学者往往是从IF和VLOOKUP两个函数起步的。下面再给大家展示IF替代函数的方法,让大家真正领会到IF不可不用,不可多用的道理。

三、LOOKUP函数取代IF的运用
利用LOOKUP函数先计算出税率乘以应纳税所得额再减速算扣除数,公式: 
=LOOKUP(A1,{0;3500;5000;8000;12500;38500;58500;83500},{0;3;10;20;25;30;35;45})*(A1%-35)-LOOKUP(A1,{0;3500;5000;8000;12500;38500;58500;83500},{0;0;105;555;1005;2755;5505;13505})  
合并LOOKUP的第三参数项,得到:  
=LOOKUP(A1,{0;3500;5000;8000;12500;38500;58500;83500},(A1-3500)*{0;3;10;20;25;30;35;45}%-{0;0;105;555;1005;2755;5505;13505}) 
抽水简化公式:  
=LOOKUP(A1%,{0;7;10;16;25;77;117;167}*5,A1%*{0;3;10;20;25;30;35;45}-{0;21;91;251;376;761;1346;3016}*5) 
再把5提取出来:  
=LOOKUP(A1%,{0;7;10;16;25;77;117;167}*5,A1%*{0;0.6;2;4;5;6;7;9}-{0;21;91;251;376;761;1346;3016})*5  

四、用TEXT取代IF再分段求和
将达到起征点的按段分段统计,公式:
=SUM(IF(A1-{3500;5000;8000;12500;38500;58500;83500}>0,(A1-{3500;5000;8000;12500;38500;58500;83500})*{3;7;10;5;5;5;10}%)) 
用TEXT条件参数取代IF,公式变换为:  
=SUM(--TEXT((A1-{3500;5000;8000;12500;38500;58500;83500})*{3;7;10;5;5;5;10}%,"[<]\0")) 
抽水简化:  
=-RMB(SUM(-TEXT((A1%-{7;10;16;25;77;117;167}*5)*{3;7;10;5;5;5;10},"[<]!0")),2) 
再简化:  
=ROUND(5*MAX(A1*{0.6,2,4,5,6,7,9}%-{4,18,50,75,152,269,603}*5-1,),2)  
思路是利用前一百分比率包含后面的百分比率,只需补算新增比率的计算原理。例如大于3500的部分是3%,大于5000的是10%,但因大于3500的3%已包含了大于5000的3%,所以大于5000的部分只需补算新增的7%。 

五、MAX函数取代IF的运用
按不同的税率和扣除数计算出税,取最大值  
=MAX((A1-3500)*{3;10;20;25;30;35;45}%-{0;105;555;1005;2755;5505;13505},) 
简化:  
=5*MAX(A1*{0.6,2,4,5,6,7,9}%-{4,18,50,75,152,269,603}*5-1,) 
保留2位小数:
=ROUND(5*MAX(A1*{0.6,2,4,5,6,7,9}%-{4,18,50,75,152,269,603}*5-1,),2)  
=ROUND(MAX((M2-3500)*5%*{0.6,2,4,5,6,7,9}-{0,105,555,1005,2755,5505,13505},0),2)  

六、INDEX函数取代IF的运用
按未扣除3500元前的收入总额比较,算出它的等级,然后与税率等级对应,得到公式:  
=(A1-3500)*INDEX({0;3;10;20;25;30;35;45}%,SUM(N(A1%>={0;7;10;16;25;77;117;167}*5)))-INDEX({0;0;21;111;201;551;1101;2701}*5,SUM(N(A1%>={0;7;10;16;25;77;117;167}*5)))
将两段公式的第一参数合并,整理得到简化公式: 

=INDEX(A1*{0;3;10;20;25;30;35;45}%-{0;21;91;251;376;761;1346;3016}*5,SUM(N(A1%>={0;7;10;16;25;77;117;167}*5)))