|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
本帖最后由 wangtx218 于 2019-1-7 11:11 编辑
1、税的筹划:每年做一次
2、每月工资表:先复制一个,再将本月累计应纳所得复制上月应纳所得。
3、代码:
Function tax(Optional a = 0, Optional b = 0)
'tax(本月累计预缴应纳税所得,上月累计预缴应纳税所得)
Application.Volatile
tax = IIf(gts(a) > gts(b), gts(a) - gts(b), 0)
End Function
Function gts(Optional x = 0, Optional y = 1)
'gts(累计预缴应纳税所得额,一次性应纳税所得额,y=12)
Application.Volatile
i% = 1: b = x / y
For Each c In Array(0, 36000, 144000, 300000, 420000, 660000, 960000)
If b > c / y Then gts = gts + (x - c / y) * 0.05 * Choose(i, 0.6, 1.4, 2, 1, 1, 1, 2): i = i + 1
Next c
gts = Round(gts + 0.0001, 2)
End Function
Function sr#(Optional aa = 0)
'sr(全部应纳税所得额)
Application.Volatile
Dim arr2#, tax#, min#, mm#
Dim i%: min = 999999999
arr1 = Array(0, 36000, 144000, 300000, 420000, 660000, 960000)
For i = 0 To 6
arr2 = aa - arr1(i)
mm = gts(arr1(i)) + gts(arr2, 12)
If mm < min Then
min = mm: sr = arr1(i)
End If
mm = gts(arr1(i), 12) + gts(arr2)
If mm < min Then
min = mm: sr = arr2
ElseIf mm = min Then
If sr < arr2 Then
sr = arr2
End If
End If
Next
End Function
4:函数:
月税:
=ROUND(MAX(M3*{0.6,2,4,5,6,7,9}%-{0,504,3384,6384,10584,17184,36384},)*5,2)
=ROUND(SUM(TEXT(M3-12000*{0;3;12;25;35;55;80},"[<]!0")*{3;7;10;5;5;5;10}%),2)
年税:
=ROUND(MAX((N3>12000*{0;3;12;25;35;55;80})*(N3*{0.6;2;4;5;6;7;9}%-{0;42;282;532;882;1432;3032})*5,0),2)
=ROUND(SUM((N3>12000*{0;3;12;25;35;55;80})*TEXT(N3-1000*{0;3;12;25;35;55;80},"[<]!0")*{3;7;10;5;5;5;10}%),2)
|
评分
-
1
查看全部评分
-
|