2013年 第 15 期
总第 667 期
财会月刊(上)
会计电算化
个人所得税计算的EXCEL运用

作  者
蔡美平

作者单位
(福建江夏学院财务处 福州 350108)

摘  要

      【摘要】在新个人所得税法下,在计算个人所得税时可以通过运用EXCEL软件,从优化运算的角度,结合EXCEL宏、函数,设计精炼的公式,提高单位个人所得税代扣代缴工作的效率。
【关键词】数组   EXCEL   个人所得税

      2011年6月30日,第十一届全国人民代表大会常务委员会第二十一次会议审议并通过了《关于修改〈中华人民共和国个人所得税法〉的决定》,并于当年9月1日施行。现行个人所得税法将应税收入起征点由原来的每月2 000元提高至3 500元,同时将最低税率降至3%,并删除了15%及40%这两档税率。
      现阶段,大部分单位主要使用EXCEL表格辅助工资管理,在管理中最常用的功能是计算个人所得税。然而,单位工资管理人员在设计计算公式时,往往停留在IF函数的嵌套方法上。这样的公式不仅冗长不利于修改和扩展,而且运算速度慢,不利于广泛运用。此外,现行税法对起征点、含税级距、税率均有调整,以往的EXCEL计算公式已不适用。为解决上述问题,笔者从多年实务工作中总结出以下几种方法以供参考。
一、直接超额累进法
这种算法是直接按照超额累进的概念来计算个人所得税。例如,税前收入为10 000元,那么应税所得额为10 000-3 500=6 500(元)(不考虑可抵扣费用),此时6 500=1 500+3 000+2 000,应交个人所得税=1 500×3%+3 000×10%+2 000×20%=745(元)。应用此原理,假设应税所得额为X,可以设计EXCEL公式:
=SUM((X>={1 500,4 500,9 000,35 000,55 000,80 000,∞})?鄢({0.03,0.10,0.20,0.25,0.30,0.35,0.45})?鄢({1 500,3 000,4 500,26 000,20 000,25 000,∞}))+MIN(X-((X>={0,1 500,4 500,9 000,35 000,55 000,80 000})?鄢({0,1 500,4 500,9 000,35 000,55 000,80 000})))?鄢MAX((X>={0,1 500,4 500,9 000,35 000,55 000,80 000})?鄢({0.03,0.10,0.20,0.25,0.30,0.35,0.45}))
这个公式主要采用了数组方式,其中,{0,1 500,4 500,9 000,35 000,55 000,80 000}是含税级距的下限数组,{1 500,4 500,9 000,35 000,55 000,80 000,∞}是含税级距的上限数组,{0.03,0.10,0.20,0.25,0.30,0.35,0.45}是税率数组,{1 500,3 000,4 500,26 000,20 000,25 000,∞}是上下限差额数组。这种方法完全按照概念来设计,因此较容易理解,在实际运用中可以通过引用辅助工作表单元格来替换数组简化公式。
      如下图所示,建立辅助工作表“所得税税率表”,下限数组就可以用单元格C2:C8代替,上限数组可以用D2:D8代替,税率数组可以用E2:E8代替,上下限差可以用G2:G8代替,因此可以得出公式:
      =SUM((X>=所得税税率表!D2:D8)?鄢(所得税税率表!E2:E8)?鄢(所得税税率表!G2:G8))+MIN(X-((X>=所得税税率表!C2:C8)?鄢(所得税税率表!C2:C8)))?鄢MAX((X>=所得税税率表!C2:C8)?鄢(所得税税率表!E2:E8))
      经简化后公式更为直观,如果所得税税率和含税级距再有调整只需要通过修改辅助表就可以适用新的变化,公式可拓展性更强。

 

 

 

 

二、全额累进扣减法
该方法是先计算全额税额然后累进扣减。比如上例的应税所得额6 500元按20%计算,那么对应的第一级距1 500由于已经按1 500×3%计算过一次税,所以这一级距多计的税是1 500×(20%-3%);相应的第二级距3 000部分,由于3 000部分已经按10%计算过税,所以3 000部分多计的税是3 000×(20%-10%)。相应的EXCEL计算公式如下:
=X?鄢MAX((X>={0,1 500,4 500,9 000,35 000,55 000,80 000})?鄢({0.03,0.10,0.20,0.25,0.30,0.35,0.45}))-SUM((X>={1 500,4 500,9 000,35 000,55 000,80 000,∞})?鄢({1 500,3 000,4 500,26 000,20 000,25 000,∞})?鄢(MAX((X>={0,1 500,4 500,9 000,35 000,55 000,80 000})?鄢({0.03,0.10,0.20,0.25,0.30,0.35,0.45}))-{0.03,0.10,0.20,0.25,0.30,0.35,0.45}))
全额累进扣减法与直接超额累进法一样,也可以通过引用辅助表的方式简化公式。从计算速度上来看比直接超额累进法稍优。
三、速算扣除数法
由于各级含税级距和税率是固定的,此时全额累进算法和超额累进算法的差额等于一个常数,这个常数就是速算扣除数。因此,在计算应纳税额时,如果采用全额累进算法只需要扣除这个常数即可。速算扣除数推导过程如下:
第一级速算扣除数等于0。此时的全额累进税刚好等于超额累进税。
第二级速算扣除数等于105。因为下限4 500按全额累计计算等于4 500×10%,但是1 500部分已经缴纳3%的税,因此多交纳的税为1 500×(10%-3%)=105。
第三级速算扣除数为555。因为下限9 000按全额累进计算等于9 000×20%,但是1 500已按3%交税,3 000已经按10%交税,多交的税为1 500×(20%-3%)+3 000×(20%-10%)=4 500×20%-1 500×3%-3 000×10%=4 500×(20%-10%)+1 500×(10%-3%)=555。
依此类推,得出如下计算公式:
      本级速算扣除数=前一级含税级距上限×(本级税率-前一级税率)+前一级速算扣除数
运用此原理,上例的计算公式=6 500×20%-555=745。假设应税所得额为X,利用数组可以设计如下EXCEL公式:
=MAX(X?鄢{0.03,0.10,0.20,0.25,0.30,0.35,0.45}-{0,105,555,1 005,2 755,5 505,13 505},0)
公式解释:第一部分即X?鄢{0.03,0.10,0.20,0.25,0.30,0.35,0.45}为全额累进计算的税额;第二部分{0,105,555,1 005,2 755,5 505,13 505}为速算扣除数;第三部分由于使用合适的税率计算的数值最大,所以需要运用MAX函数剔除重复计算的值。
      另外,个人所得税的起征点为3 500,当收入小于等于3 500时X为负数,计算结果也为负数,此时计算结果还须与0进行比较。
速算扣除数法比较简单直观,计算速度快,即使税率有变化也容易修改,实际使用时不易犯错,可以广泛推广。此方法也可以通过引用工作表法来简化,为达到最优的计算速度,还可以使用INDEX函数和MATCH函数来进一步优化。优化后的公式为:
      =X?鄢INDEX(所得税税率表!E2:E8,MATCH(X,所得税税率表!D2:D8,1))-INDEX(所得税税率表!F2:F8,MATCH(X,所得税税率表!D2:D8,1))
      公式中的MATCH(X, 所得税税率表!D2:D8,1))即找出应税所得额小于上限时对应的行号,再用INDEX函数取得对应的行号的税率和速算扣除数。该法避免了重复计算从而提高了计算速度,但是由于需要理解函数使用规则,故加大了推广难度。四、最低档税率计算法
此种方法是先将应税所得额按最低税率计算,再加上应补交数。比如上例中的6 500都按3%来计税,其中可以看出1 500部分已经缴纳其应交的税费,剩余5 000也按3%计算了税费,然而其中3 000本来应该按照10%计算税费、2 000按照20%交税,所以3 000部分还须补计7%的税费,如果此时2 000再计7%的税,那么最后只要再计10%的税就是全部应该缴纳的税费。那么应补交的计算公式为:2 000×10%+5 000×7%+6 500×3%。因此可以推导出第二级以上的各级补缴税率等于本级税率减去上一级税率。根据此原理,对应的EXCEL公式为:
=SUM(TEXT(X-{0,1 500,4 500,9 000,35 000,55 000,80 000},“0;!0”)?鄢{0.03,0.07,0.10,0.05,0.05,0.05,0.10})
公式理解要点:第一部分,TEXT函数将数值转换为按指定数字格式表示的文本,第一个参数为数值,第二个参数是文本形式的数字格式,利用这个函数巧妙地将大于零的数值保留原样,将小于零的数值用数字0代替。第二部分, {0.03,0.07,0.10,0.05,0.05,0.05,0.10}是最低档税率和补缴税率组成的数组。
该方法虽然比较难理解,但公式比较精炼,计算速度最快。在实际运用时,也可以采用辅助表的形式替换数组,提高公式的可拓展性。
五、自定义函数法
这种方法需要在EXCEL宏编辑器中创建自定义函数。在计算个人所得税时直接引用自定义函数。自定义函数可以根据计算习惯随意书写,方法多种多样,最常用的是速算扣除法。主要宏代码示例:
      Function personaltax (收入 As Currency) As Currency
起征点=3 500
应税所得=收入-起征点
Select case 应税所得
Case Is<=0
personaltax=0
Case Is<=1 500
personaltax=Round(应税所得?鄢0.03,2)
Case Is<=4 500
personaltax=Round(应税所得?鄢0.1-105,2)
Case Is<=9 000
personaltax=Round(应税所得?鄢0.2-555,2)
Case Is<=35 000
personaltax=Round(应税所得?鄢0.25-1 005,2)
Case Is<=55 000
personaltax=Round(应税所得?鄢0.3-2 755,2)
Case Is<=80 000
personaltax=Round(应税所得?鄢0.35-5 505,2)
Case Else
personaltax=Round(应税所得?鄢0.45-13 505,2)
End Select
End Function
在这种方式下,税率如果有调整需要修改宏代码,另外对VBA编程知识有一定的要求。宏的使用还要考虑安全性的问题:默认的EXCEL设置宏的安全性为中,每次打开EXCEL文档时都要选择是否运行宏,此时一般将安全性设置为低,数据安全会受到严重的威胁。因此,在使用宏时,需要通过加载自定义宏文件方式来使用自定义函数。具体步骤为:首先将编辑后的自定义宏保存为XLA文件;然后在“工具”菜单的“加载宏”选项中加载保存的XLA文件。
六、年终一次性奖金的计算
发放年终一次性奖金计算个人所得税时采用老算法新税率,先将应税所得额除以12计算月份平均数,再利用月份平均数确定属于哪一档税率和速算扣除数,最后将应税所得额乘以确定的税率并扣减速算扣除数即为应交税额。实际上,年终一次性奖金的计算方法是速算扣除法的另一种应用。由于年终一次奖金的速算扣除数仍使用月份速算扣除数,因此MAX函数已不适用,可以使用LOOKUP函数代替。假设应税所得额为X,计算公式如下:
=LOOKUP((X-0.000 01)/12,{0,1 500,4 500,9 000,35 000,55 000,80 000},X?鄢{0.03,0.10,0.20,0.25,0.30,0.35,0.45}-{0,105,555,1 005,2 755,5 505,13 505})
其中,(X-0.000 01)主要是为了在临界点时避免选择高一档的税率。比如X为18 000,如果不进行扣减,公式会自动选择10%税率,计算结果为18 000×0.01-105=1 695,正确的结果应该是18 000×0.03=540。公式中的LOOKUP函数实现在{0,1 500,4 500,9 000,35 000,55 000,80 000}数组中查找指定的(X-0.000 01)/12数值,然后返回最后一个参数数组相同位置的数值。只要掌握了LOOKUP函数,此公式就可以运用自如。
主要参考文献
1. 张道珍. 利用Excel计算个人所得税的五种方法.财会月刊,2010;5
      2. 柳一波.EXCEL在计算个人所得税中的应用.财会研究,2009;9
3. 王永.基于EXCEL的个人所得税计算系统.南阳师范学院学报,2009;12
4. 董勋,李宏颖.用Excel计算工资个人所得税.黑龙江水专学报,2003;3
5. 徐军.用EXCEL工作簿生成个税申报导入文件.新会计,2009;11