ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何合理筹划年终一次性奖和月工资额度使得个税最低?

如何合理筹划年终一次性奖和月工资额度使得个税最低?

作者:绿色风 分类: 时间:2022-08-17 浏览:66
楼主
天南地北
Q:如何合理筹划年终一次性奖和月工资额度使得个税最低?


 


 
A:使用如下自定义函数
  1. Option Explicit
  2. Public 工资应纳税所得额&, 应纳税所得总额&, 月奖分配&, 年终一次性分配&, 月奖分配min&, 年终一次性分配max&
  3. Public 月奖分配max&, 年终一次性分配min&, 月工资个税&, 年终一次性奖个税&, 个税1&, 个税2&
  4. Function TAX(rng1 As Range, rng2 As Range, function_num As Byte)
  5. Application.Volatile
  6.     工资应纳税所得额 = rng1 * 100 + 10 ^ -10
  7.     应纳税所得总额 = rng2 * 100 + 10 ^ -10
  8.     If 工资应纳税所得额 > 应纳税所得总额 Then
  9.         TAX = "数据错误"
  10.         Exit Function
  11.     End If
  12.     Call 计税主程序
  13.     Select Case function_num
  14.         Case 1
  15.             TAX = 年终一次性分配min / 100
  16.         Case 2
  17.             TAX = 月奖分配max / 100
  18.         Case 3
  19.             TAX = 年终一次性分配max / 100
  20.         Case 4
  21.             TAX = 月奖分配min / 100
  22.         Case 5
  23.             TAX = 个税1 / 100
  24.         Case Else
  25.             TAX = "参数错误"
  26.     End Select

  27. End Function

  28. Sub 计税主程序()
  29.     Dim i&, j&, arr(1 To 4)
  30.         If 应纳税所得总额 > 350000 Then
  31.             个税1 = 2 ^ 31 - 1: 个税2 = 个税1 '设定一个大的值参与比较
  32.             arr(2) = 应纳税所得总额 Mod 50000
  33.             arr(3) = 工资应纳税所得额 Mod 50000: arr(4) = arr(3)
  34.             If arr(2) > arr(3) Then arr(3) = arr(2): arr(2) = arr(4)

  35.             For i = (工资应纳税所得额 \ 50000) * 50000 To 应纳税所得总额 Step 50000
  36.                 For j = 1 To UBound(arr) - 1
  37.                     月奖分配 = i + arr(j)
  38.                     年终一次性分配 = 应纳税所得总额 - 月奖分配
  39.                     If 月奖分配 <= 应纳税所得总额 And 月奖分配 >= 工资应纳税所得额 Then

  40.                         Call 工资个税
  41.                         Call 年终奖个税
  42.                         If 月工资个税 + 年终一次性奖个税 < 个税1 Then
  43.                             月奖分配min = 月奖分配 + 350000
  44.                             年终一次性分配max = 年终一次性分配
  45.                             个税1 = 月工资个税 + 年终一次性奖个税
  46.                         End If

  47.                         If 月工资个税 + 年终一次性奖个税 <= 个税2 Then
  48.                             月奖分配max = 月奖分配 + 350000
  49.                             年终一次性分配min = 年终一次性分配
  50.                             个税2 = 月工资个税 + 年终一次性奖个税
  51.                         End If

  52.                     End If
  53.                 Next j
  54.             Next i
  55.         Else
  56.             月奖分配max = 应纳税所得总额
  57.             年终一次性分配min = 0
  58.             月奖分配min = 应纳税所得总额
  59.             年终一次性分配max = 0
  60.             个税1 = 0
  61.         End If
  62. End Sub
  63. Sub 工资个税()
  64.     月奖分配 = 月奖分配 - 350000
  65.     Select Case 月奖分配
  66.         Case Is <= 0
  67.             月工资个税 = 0
  68.         Case Is <= 150000
  69.             月工资个税 = 月奖分配 * 0.03 + 10 ^ -10
  70.         Case Is <= 450000
  71.             月工资个税 = 月奖分配 * 0.1 - 10500 + 10 ^ -10
  72.         Case Is <= 900000
  73.             月工资个税 = 月奖分配 * 0.2 - 55500 + 10 ^ -10
  74.         Case Is <= 3500000
  75.             月工资个税 = 月奖分配 * 0.25 - 100500 + 10 ^ -10
  76.         Case Is <= 5500000
  77.             月工资个税 = 月奖分配 * 0.3 - 275500 + 10 ^ -10
  78.         Case Is <= 8000000
  79.             月工资个税 = 月奖分配 * 0.35 - 550500 + 10 ^ -10
  80.         Case Else
  81.             月工资个税 = 月奖分配 * 0.45 - 1350500 + 10 ^ -10
  82.     End Select
  83. End Sub
  84. Sub 年终奖个税()
  85.    
  86.     Select Case 年终一次性分配
  87.         Case Is <= 1800000
  88.             年终一次性奖个税 = 年终一次性分配 * 0.03 + 10 ^ -10
  89.         Case Is <= 5400000
  90.             年终一次性奖个税 = 年终一次性分配 * 0.1 - 10500 + 10 ^ -10
  91.         Case Is <= 10800000
  92.             年终一次性奖个税 = 年终一次性分配 * 0.2 - 55500 + 10 ^ -10
  93.         Case Is <= 42000000
  94.             年终一次性奖个税 = 年终一次性分配 * 0.25 - 100500 + 10 ^ -10
  95.         Case Is <= 66000000
  96.             年终一次性奖个税 = 年终一次性分配 * 0.3 - 275500 + 10 ^ -10
  97.         Case Is <= 96000000
  98.             年终一次性奖个税 = 年终一次性分配 * 0.35 - 550500 + 10 ^ -10
  99.         Case Else
  100.             年终一次性奖个税 = 年终一次性分配 * 0.45 - 1350500 + 10 ^ -10
  101.     End Select
  102. End Sub


PS:说明由于数据计算浮点干扰,所以将数据扩大100倍,然后定义为长整型,因为个税计算存在严格的数据范围,定义为单精度可能会因为浮点计算参数错误,附件使用了工作表函数进行验证,此个税筹划不同于全年个税筹划,为月度筹划!





补充内容 (2014-6-12 14:29):
上面说的应纳税所得额含起征点3500元
年终奖筹划自定义函数版_20140330_天南地北.rar
2楼
老糊涂
首先学习

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap