Excel-个人所得税计算与原理推导

题目:
Excel-个人所得税计算与原理推导
个人所得税的计算应为(工资-3500)*对应级别的税率-速扣数。
工资少于3500不扣税。

速扣数的意义是工资减去3500后直接乘以对应级别的税率所多扣除的税费。
画图来说明一下。
Excel-个人所得税计算与原理推导
加入工资x=10000,那么x-3500=6500,属于第三档,20%税率。用税率乘以6500就是方块的体积。而实际应该缴纳的税款为3条水平bar的面积的和,即3%*1500+10%*3000+20%*(x-3500-4500)。那么速扣数就如图所示,等于:

长方形体积20%*(x-3500)减去应纳税额3%*1500+10%*3000+20%*(x-3500-4500)

算法1:
使用vlookup函数。

fx=IF(F7<=3500,0,VLOOKUP(F7-3500,$A$6:$D$12,3,1)*(F7-3500)-VLOOKUP(F7-3500,$A$6:$D$12,4,1))

算法2:
使用max函数。

fx=MAX((F7-3500)*{0.03;0.1;0.2;0.25;0.3;0.35;0.45}-{0;105;555;1005;2755;5505;13505},0)

vlookup函数方法具有自解释性,也很好理解其运算逻辑。主要说一说max函数方法的原理。网上有很多max函数的解法,但大多都没有提供其数学原理的论证,这里我用图画来做简单的阐述。

这里我们先不管起征3500,收入设为x。
max函数的解法是遍历x和各级税率的乘积减去对应速扣数,得到一个数组,再找出数组中的最大值。那么为什么数组中的最大值就是对应的正确的纳税额呢?

这里分两种情况讨论,一是税率等级小于正确等级的情况,一是大于的情况。

假设x=6000,此时正确的税率等级为20%。
当遍历的税率等级小于正确等级,比入10%,计算
taxes_lower = x*10% - 速扣数,如图中黄色部分。
而真实值应该为taxes_real = x*20%-速扣数,如图中黄色部分加上红色部分。
那么此时得到的纳税额就损失了红色这部分,也就是变小了。

Excel-个人所得税计算与原理推导

当遍历的税率等级大于正确等级,比如25%时。
设正确税率等级的速扣数为a(绿色)taxes_real = x*20%-a
而25%的税率等级下,纳税额为taxes_higher = x*25%-a-b-c
b=(25%-20%)*x,代入可得taxes_higher = x*20%-a-c=taxes_real-c
taxes_higher<taxes_real
如图所示,红色部分c就是较高等级税率下丢失的税费。
Excel-个人所得税计算与原理推导

希望本文对你有所帮助。

相关文章:

  • 2022-01-16
  • 2022-02-13
  • 2021-12-23
  • 2022-01-10
  • 2021-12-11
  • 2022-03-10
  • 2021-12-23
  • 2021-10-06
猜你喜欢
  • 2022-02-24
  • 2022-01-03
  • 2021-10-04
  • 2021-07-22
  • 2021-04-14
相关资源
相似解决方案