excel个人所得税计算公式

   2020-11-20 IP属地 浙江1930
核心提示:文章介绍excel个人所得税计算公式以及思路解释。另外还介绍了使用自定义函数来简化excel计算个人所得税。
内容提要:文章介绍excel个人所得税计算公式以及思路解释。另外还介绍了使用自定义函数来简化excel计算个人所得税。

随着2011年9月新个人所得税起征点改为3500元之后,excel个人所得税计算公式也稍有变化。

excel个人所得税计算公式一

如下图所示是excel个人所得税计算公式的一个截图。

C2单元格个人所得税计算公式为:

=ROUND(MAX((B2-3500)*5%*{0.6,2,4,5,6,7,9}-5*{0,21,111,201,551,1101,2701},0),2)

然后下拉公式复制,可以计算出其余人员的个人所得税。

excel个人所得税计算公式为:(应发工资-个税起征点金额)*税率-速算扣除数

上面的excel个人所得税计算公式,思路讲解:
(B2-3500)是个人所得税的应纳税所得额,{0.6,2,4,5,6,7,9}是一个数组。
0.05*{0.6,2,4,5,6,7,9}={0.03,0.1,0.2,0.25,0.3,0.35,0.45}是个人所得税的税率公式。
5*{0,21,111,201,551,1101,2701}={0,105,555,1005,2755,5505,13505}是各级别的个人所得税扣除额。
(B2-3500)*5%*{0.6,2,4,5,6,7,9}-5*{0,21,111,201,551,1101,2701}是纳税额*各级个税税率-应扣额后的数字,如果税率对应的级别<=纳税额时,税率越大税额越大,符合所缴税款和所得相匹配的原理。如果税率对应的级别>纳税额时,税率越大税额越小,因为扣减了超额的扣除数,这样保证了,缴税数组里最大的那个一定是最符合相应税率的。
因为存在了纳税额<0的情况,即工资不满3500元,为避免出现税额为0,就在(B2-3500)*5%*{0.6,2,4,5,6,7,9}-5*{0,21,111,201,551,1101,2701}后添了一个“,0”的值保证计算税额的公式MAX((B2-3500)*5%*{0.6,2,4,5,6,7,9}-5*{0,21,111,201,551,1101,2701},0)必定有个0值,在用MAX求最大时,出现的税额一定是符合税率的,并最小的数是0,不会出现负数。
简而言之,MAX函数取最大值,并设置下限值为0,即得出对应员工的个人所得税。
最外面嵌套ROUND函数,就是4舍5入到2位小数。

excel个人所得税计算公式二

使用下面的自定义函数完成excel个人所得税计算,使用方法参考文章最后的链接。
Functiontax(OptionalAAsDouble=0,Optionaly=0,Optionalz=1)
'tax(月收入),tax(年收入,月收入)
Dim分界,税率,扣除数
分界=Array(0,1500,4500,9000,35000,55000,80000)'收入分界
税率=Array(0.03,0.1,0.2,0.25,0.3,0.35,0.45)'各档税率
扣除数=Array(0,105,555,1005,2755,5505,13505)'各档扣除数
b=3500
Ifz=1Then
  Ify=0Thenx=A-bElseb=Application.Max(b-y,0):x=(A-b)/12
  Fori=6To0Step-1
      Ifx>分界(i)Then
          tax=(A-b)*税率(i)-扣除数(i)
          ExitFor
      EndIf
  Next
  
ElseIfz=2Then
  Ify=0Thenx=A-bElseb=Application.Max(b-y,0):x=(A-b)/12
  Ify=0Andx<0Thentax=A
  Fori=6To0Step-1
      Ifx>分界(i)Then
           tax=(A-b)*(1-税率(i))+扣除数(i)+b
          ExitFor
      EndIf
  Next

ElseIfz=3Then
   Ify=0Thenx=A-bElseb=Application.Max(b-y,0):x=(A-b)
   Ify=0Andx<0Thentax=A
   Fori=6To0Step-1
   Ify=0Then
       Ifx>分界(i)-tax(分界(i)+b,0,1)Then
           tax=(A-b-扣除数(i))/(1-税率(i))+b
           ExitFor
       EndIf
   Else
       Ifx>12*分界(i)-tax(12*分界(i),3500,1)Then
           tax=(A-扣除数(i))/(1-税率(i))
           ExitFor
       EndIf
   EndIf
   Next
   
ElseIfz=4Then
   Ify=0Thenx=A-bElseb=Application.Max(b-y,0):x=(A-b)
   Fori=6To0Step-1
     Ify=0Then
       Ifx>分界(i)-tax(分界(i)+b,0,1)Then
           tax=tax(A,0,1)/(1-税率(i))
           ExitFor
       EndIf
    Else
       Ifx>12*分界(i)-tax(12*分界(i),3500,1)Then
           tax=tax(A,3500,1)/(1-税率(i))
           ExitFor
       EndIf
    EndIf
   Next

   ElseIfz=5Then
   Fori=6To0Step-1
     Ify=0Then
       IfA>tax(分界(i)+b,0,1)Then
           tax=(A+扣除数(i))/税率(i)+b
           ExitFor
       EndIf
     Else
       IfA>tax(12*分界(i),b,1)Then
           tax=(A+扣除数(i))/税率(i)
           ExitFor
       EndIf
   EndIf
   Next
   
ElseIfz=6Then
   Fori=6To0Step-1
       Ify=0Then
          IfA>tax(分界(i)+b,0,1)Then
             tax=(A*(1-税率(i))+扣除数(i))/税率(i)+b
             ExitFor
          EndIf
       Else
          IfA>tax(12*分界(i),b,1)Then
             tax=(A*(1-税率(i))+扣除数(i))/税率(i)
             ExitFor
          EndIf
        EndIf
   Next
   
EndIf
tax=Round(tax+0.0001,2)
EndFunction

相关文章:excel自定义函数添加和使用方法
2011年新个人所得税法全文内容

 
反对 0举报收藏 0打赏 0评论 0
更多>相关评论
暂时没有评论,来说点什么吧
更多>同类办公
推荐图文
推荐办公
点击排行