巧用Excel 97/2000自动计算个人所得税

Author: 游建勋 Date: 2000年 第29期

  新的个人所得税法的颁布实施,已经为国家财政收入和调节个体收入差异起到了积极的作用。但是,个人所得税的征收管理工作仍不很理想,而计算个人所得税的工作量较大,不能不说是其中的一个重要原因。个人所得税计算的工作量大,其实多数指的是对“工资薪金所得”项目个人所得税的计算。因为,每一个单位少则几十人,多则几百人,每个月都要算一下哪些人要缴个人所得税,应缴纳多少金额,等等,实在不是一件轻松的事。因此,本文侧重于对“工资薪金所得”的探讨,其他项目则是“一窍通,百窍同”了。
  一、个人取得的所得是含税所得(雇主不负担税款)情况下个人所得税的计算
  设计一表格(^29050201a^表1),该表共10栏(A、B、C、D……为列标,1、2、3、4……为行标)。先选定F3单元格,在其中填写公式“=Sum(c3:e3)”,该公式的含义是:本单元格等于c3到e3这三个单元格之和,即:含税收入=工资+奖金+补贴。再选定G3单元格,在其中填写如下公式:“=if(f3>800,f3-800,0)”。该公式的含义是:如果f3>800,那么G3=f3-800,否则G3=0;即:如果含税收入大于费用扣除标准,那么应税所得等于含税收入减去费用扣除标准后的差额,否则就等于0。
  再选定H3单元格,在其中填写如下公式:“=if(g3<=500,5%,if(g3<=2000,10%,if(g3<=5000,15%,if(g3<=20000,20%,if(g3<=40000,25%,if(g3<=60000,30%,if(g3<=80000,35%,if(g3<=100000,40%,45%))))))))”。该公式的含义是:当G3的值(应税所得)小于或等于500时,H3(适用税率)为5%,当500<G3<=2000时,H3为10%,当2000<G3<=5000时,H3为15%……
  再选定I3单元格,在其中填写如下公式:“=if(h3=5%,0,if(h3=10%,25,if(h3=15%,125,if(h3=20%,375,if(h3=25%,1375,if(h3=30%,3375,if(h3=35%,6375,if(h3=40%,10375,15375))))))))”。该公式的含义是:当H3(适用税率)=5%时,I3(速算扣除数)=0,当H3=10%时,I3=25,当H3=15%时,I3=125……
  再选定J3单元格,在其中填写公式:“=g3*h3-i3”即可。该公式的含义为:J3=G3×H3 - I3,即:应纳税额=应税所得×适用税率-速算扣除数。
  现在,第一个记录中各单元格的公式都设好了,我们只要在C3到E3的各个单元格中输入数值,就会马上知道应税所得、适用税率、速算扣除数和应纳税额分别是多少。
  不过,到现在为止,我们还只能对一个记录进行自动计算,因为下一个记录我们还没有给它填写公式。为此,我们可以利用自动填充功能来完成:先同时选定F3到J3这五个单元格,接着把鼠标指向J3单元格的右下角一黑色小方块处,当鼠标变成了一个黑色的“+”时,按住鼠标左键不放,向下拖动,我们拖到哪里,公式就自动复制到哪里。
  现在所有的公式都设好了,接下来就是一些扫尾工作了,如:①给表格加上表格线;②通过“页面设置”窗口,给表格加上行标题;③通过“分类汇总给每页加上合计数,并在最后一页加上总计数。等等,这里就不一一说明了。
  至此,我们就把整张表格都设计好了,只要把刚才设计好的表格保存为“模板”形式,就可以在以后的工作中反复调用,而不必从头再来。
  二、个人取得的所得为不含税所得情况下个人所得税的计算
  在这种情况下,应税所得=(不含税收入 - 费用扣除标准 - 速算扣除数)÷(1- 税率),所以我们要在表1的基础上做下列的修改才能保证计算的准确性:①把“含税收入”改为“不含税收入”;②把G3单元格中的公式改为:“=if(f3>800,(f3-800-i3)/(1-h3),0 )”;③把H3单元格中的公式改为“=if(f3-800<=475,5%,if(475<f3-800<=1825,10%,if(1825<=f3-800<4375,15%,if(4375<=f3-800<16375,20%,if(16375<=f3-800<31375,25%,if(31375<=f3-800<45375,30%,if(45375<=f3-800<58375,35%,if(58375<=f3-800<70375,40%,45%))))))))”;其他各单元格则保持不变。接下来的工作就和第一点的一样了(修改后的表格命名为^29050201b^表2)。
  三、个人取得的所得含且只含有部分税款(雇主负担部分税款)情况下个人所得税的计算
  1.雇主定额负担税款
  这种情况下,以表1为基础在“含税收入”前插入一栏“雇主负担税额”,然后把G3中的公式改为“=Sum(c3:f3)”,其他单元格中的公式则无须我们手工去修改,一切都已在悄然间自动完成了。接下来的工作也是和第一点中的相同(修改后的表格命名为^29050201c^表3)。
  2.个人定额负担税款
  这种情况下,以表2为基础,在“不含税收入”前插入一栏“个人负担税额”,然后把G3中的公式改为“=sum(c3:e3)- f3”即可,其他单元格中的公式也无须手工更改。接下来的工作也是和第一点中的相同(修改后的表格命名为^29050201d^表4)。
  3.雇主按比例负担税款
  在这种情况下,应税所得必须通过公式“应税所得=(未含雇主负担的税款的收入额 - 费用扣除标准 - 速算扣除数×比例)÷(1- 税率×比例)”来求得,而由公式我们可以看出,要求应税所得,先要知道适用税率;而要确定适用税率,就必须知道应税所得或不含税所得。这样就出现了“死循环”——要求A必须知道B,而要确定B则须知道A。难道我们就没有办法了?这时我们可以用“代入法”来确定适用税率并求出应税所得:就是把各个税率(5%、10%、15%、20%、25%、30%、35%、40%、45%)逐一代入上面的这一公式中,然后根据求出的应税所得来确定它的适用税率,最后把这个适用税率和刚才代入公式的税率比较——如果两者相等,说明这个税率是正确的,否则就是错误的。
  根据这个原理,我们可以利用Excel的“宏”来实现工作的自动化。以表1为基础,把“含税收入”改为“部分含税收入”,然后在“应税所得”前插入一栏“雇主负担的比例”,并把H3中的公式改为:“=(f3 - 800 - j3*g3)/(1 - i3*g3)”,最后把 i3中公式清除掉即可,其他单元格也无须手工更改。接下来的工作也是和第一点中的相同(修改后的表格命名为^29050201e^表5)。最后我们所要做的就是编辑“宏”了,具体如下:
  先录制一个内容是空的宏,将它命名为“雇主负担比例税款”,并指定快捷键为“Ctrl+Shift+A”,然后打开这个宏进行编辑,输入下面的代码(从Sub开始,至End  Sub结束),保存退出后就可以按快捷健“Ctrl+Shift+A”运行这个宏(也可设置一个命令按钮来简化操作),根据提示输入必要的数据后,就可自动求出所有记录(每个人)的应税所得、适用税率、应纳税额等各栏的值。
    Sub 雇主负担比例税款( )
     On Error GoTo 比例税款_err
     Cells.Find(What:=″适用税率″,After:=ActiveCell,
     LookIn:=xlFormulas,LookAt:=xlPart,SearchOrder:= xlByRows,SearchDirection:=xlNext,MatchCase:=False,MatchByte:=False).Activate
     ActiveCell.Offset(1,0).Range(″A1″).Select
     Dim a As Integer
     Dim b As Integer
     Dim e As Integer
     e = InputBox(″请以数字的形式输入″应税所得″所在的栏次″)
     a = InputBox(″请输入总记录数″)
     b = 1
      Do Until b > a
       With Selection
        Dim I As Integer
        I = 1
        Dim c As Single
        c = 1
        Dim d As Double
         Do Until ActiveCell = c
          If I >10 Then
       MsgBox ″找不到适用税率或该个人的收入未达到起征点″
           Selection = ″″
           Exit Do
          Else
           Selection = I * 0.05
           d = Cells(ActiveCell.Row,e)
           If d< 0 Then
           c = 0
            ElseIf d< 500 Then c = 0.05
            ElseIf d< 2000 Then c = 0.1
            ElseIf d< 5000 Then c = 0.15
            ElseIf d< 20000 Then c = 0.2
            ElseIf d< 40000 Then c = 0.25
            ElseIf d< 60000 Then c = 0.3
            ElseIf d< 80000 Then c = 0.35
            ElseIf d< 100000 Then c = 0.4
           Else: c = 0.45
           End If
           I = I + 1
          End If
         Loop
        ActiveCell.Offset(1,0).Select
       End With
        b = b + 1
      Loop
     Exit Sub
     比例税款_err:
     MsgBox ″错误! error number:″ & Err.Number & Err.
     Description
    End Sub
  至此,对各种情况下的工薪所得,其个人所得税的计算,我们均可顺利通过Excel来实现。明白了其中的道理,对“劳务报酬所得”、“个体工商户生产经营所得”等项目的个人所得税的电算化也就迎刃而解了。