找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

初学者课程:T3自学|T6自学|U8自学软件下载课件下载工具下载资料:通资料|U8资料|NC|培训|年结积分规则 | 使用常见问题Q&A
知识库:U8 | | NC | U9 | OA | 政务U8|U9|NCC|NC65|NC65客开|NCC客开新手必读 | 任务 | 快速增金币用友QQ群[微信群]
查看: 14056|回复: 21

[会计知识] 用Excel计算个人所得税的四套方案

[复制链接]
发表于 2007-2-6 11:50:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册账号

×
一、个人工薪所得纳税相关背景知识
1、个人取得的工资、薪金所得,是指个人因任职或者受雇而取得的工资、薪金、奖金、年终加薪、劳动分红、津贴、补贴以及与任职或受雇有关的其他所得。
个人所得税是对按税法规定具有纳税义务的中国公民和外籍人员的个人收入或所得征收的一种税。
2、工资、薪金所得项目税率表:
级数
全月应纳税所得额
税率 (%)
速算扣除数 ( 元 )
1
不超过 500 元的部分
5
0
2
超过 500 元至 2000 元的部分
10
25
3
超过 2000 元至 5000 元的部分
15
125
4
超过 5000 元至 20000 元的部分
20
375
5
超过 20000 元至 40000 元的部分
25
1375
6
超过 40000 元至 60000 元的部分
30
3375
7
超过 60000 元至 80000 元的部分
35
6375
8
超过 80000 元至 100000 元的部分
40
10375
9
超过 100000 元的部分
45
15375
表1
3、工资、薪金所得按以下步骤计算缴纳个人所得税:
每月取得工资收入后,先减去个人承担的基本养老保险金、医疗保险金、失业保险金,以及按省级政府规定标准缴纳的住房公积金,再减去费用扣除额 1600 元 / 月(来源于境外的所得以及外籍人员、华侨和香港、澳门、台湾同胞在中国境内的所得每月还可附加减除费用 3200 元),为应纳税所得额,按 5% 至 45% 的九级超额累进税率计算缴纳个人所得税。
计算公式是:应纳个人所得税税额 = 应纳税所得额×适用税率—速算扣除数
例:王某当月取得工资收入 9000 元,当月个人承担住房公积金、基本养老保险金、医疗保险金、失业保险金共计 1000 元,费用扣除额为 1600 元,则王某当月应纳税所得额 =9000-1000-1600=6400 元。应纳个人所得税税额 =6400 × 20%-375=905 元。
4、个人取得工资、薪金所得应缴纳的个人所得税,统一由支付人负责代扣代缴,支付人是税法规定的扣缴义务人。
5、根据十届全国人大常委会第十八次全体会议《关于修改〈中华人民共和国个人所得税法〉的决定》,自 2006 年 1 月 1 日起 ,工薪所得个调税起征点执行中国公民 1600 元、外籍人士 4800 元的标准,计征方法仍执行原定九级累进方案(如表 1 所示)。
二、工薪所得个调税的 Excel 计算解决方案
A
B
C
D
E
F
G
H
I
1
计税工资
应纳税额
税后工资
1000
0
1000
10000
1305
8695
100000
28985
71015
级数
累进区间
下限
税率
扣除数
2
1
<500
0
5%
0
3
2
500-2000
500
10%
25
4
3
2000-5000
2000
15%
125
5
4
5000-20000
5000
20%
375
6
5
20000-40000
20000
25%
1375
7
6
40000-60000
40000
30%
3375
8
7
60000-80000
60000
35%
6375
9
8
80000-100000
80000
40%
10375
10
9
>100000
100000
45%
15375
表2
C2 =IF(A2<>"",A2-B2,"")
【方案一】—— IF 嵌套版:
B2 =IF(AND(A2>0,A2<=1600),0,IF(AND(A2>1600,A2<=2100),ROUND((A2-1600)*0.05,2),IF(AND(A2>2100,A2<=3600),ROUND((A2-1600)*0.1-25,2),IF(AND(A2>3600,A2<=6600),ROUND((A2-1600)*0.15-125,2),IF(AND(A2>6600,A2<=21600),ROUND((A2-1600)*0.2-375,2),IF(AND(A2>21600,A2<=41600),ROUND((A2-1600)*0.25-1375,2),IF(AND(A2>41600,A2<=61600),ROUND((A2-1600)*0.3-3375,2),"")))))))
优点:简单明了,上手容易
缺点:if() 函数嵌套最多只能七层,而个调税计征采用的是九级累进,所以这个公式适用的月收入上限是 6 万。
【方案二】——辅助数据版:
在 E、F、G、H、I 五列插入辅助列(如表 2 所示)。
B2 =IF(A2<>"",ROUND(IF(A2>1600,A2-1600,0)*VLOOKUP(VLOOKUP(IF(A2>1600,A2-1600,0),$G$2:$G$10,1),$G$2:$I$10,2)-VLOOKUP(VLOOKUP(IF(A2>1600,A2-1600,0),$G$2:$G$10,1),$G$2:$I$10,3),2),"")
优点:克服 IF() 嵌套只能七层的缺陷,涵盖整个累进区间。累进算法资料独立,便于维护。公式也比较简洁,可读性强。
缺点:需要借助于辅助列,可移植性不强。

【方案三】——数组公式版:
B2: {=IF(A2<>"",ROUND(IF(AND(A2>0,A2<=1600),0,SUM(IF((A2-1600>={0,500,2000,5000,20000,40000,60000,80000,100000})+(A2-1600<{500,2000,5000,20000,40000,60000,80000,100000,100000000000})=2,(A2-1600)*{0.05,0.1,0.15,0.2,0.25,0.3,0.35,0.4,0.45}-{0,25,125,375,1375,3375,6375,10375,15375},0))),2),"")}
优点:同样克服了 IF 嵌套版不能涵盖全部九级累进区间的缺陷,且公式内数据相对容易维护,整个公式维护起来也比较简单。
缺点:数组公式的操作方法比较独特,每次修改后都要用“ Ctrl+Shift+Enter ”组合键加以识别,且可扩展性不如在后台运行的 VBA 代码。
P.S. :
“数组公式:数组公式对一组或多组值执行多重计算,并返回一个或多个结果。数组公式括于大括号 ({ }) 中。按 Ctrl+Shift+Enter 可以输入数组公式。”
【方案四】—— VBA 代码版:
“工具” -- 》“宏” -- 》“ Visual Basic 编辑器” -- 》“插入” -- 》“模块”
  1. '计算个人收入调节税 (Individual Income Adjustment Tax)
  2. Function iiatax(x,y)
  3. Dim basicnum As Integer
  4. Dim downnum As Variant, upnum As Variant, ratenum As Variant, deductnum As Variant
  5. If y = 0 Then
  6. basicnum = 1600 '定义中国公民个税起征点
  7. ElseIf y = 1 Then
  8. basicnum = 4800 '定义外国公民个税起征点
  9. Else: basicnum = Null
  10. End If
  11. downnum = Array(0, 500, 2000, 5000, 20000, 40000, 60000, 80000, 100000) '定义累进区间下限
  12. upnum = Array(500, 2000, 5000, 20000, 40000, 60000, 80000, 100000, 100000000) '定义累进区间上限
  13. ratenum = Array(0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45) '定义累进税率
  14. deductnum = Array(0, 25, 125, 375, 1375, 3375, 6375, 10375, 15375) '定义累进速算扣除数
  15. If IsNumeric(x) = False Then
  16. MsgBox ("请检查计税工资是否为数值!")
  17. End If
  18. If x < 0 Then
  19. MsgBox ("计税工资为负,重新输入!")
  20. End If
  21. If x >= 0 And x < basicnum Then
  22. iiatax = 0
  23. End If
  24. For i = 0 To UBound(downnum)
  25. If x - basicnum > downnum(i) And x - basicnum <= upnum(i) Then
  26. iiatax = Round( ( x - basicnum ) * ratenum(i) - deductnum(i), 2)
  27. End If
  28. Next i
  29. End Function
复制代码


P.S. :
1、iiatax(参数1,参数 2 ),参数 1 引用计税工资,参数 2 用“ 0 ” 表示中国公民的所得税起征点,用“ 1 ” 表示外国公民的起征点。
2、使用时可以像使用函数一样,如“ B2=iiatax(A2,0) ”,或者“ B2=iiatax(6500,1) ”。
发表于 2007-2-9 09:05:03 | 显示全部楼层
发表于 2007-3-1 14:42:01 | 显示全部楼层
好东西,收藏着!!!!
发表于 2007-11-6 19:35:31 | 显示全部楼层
好东西,收藏着!!!!
发表于 2007-11-6 20:13:51 | 显示全部楼层
唉,对于会计,我真是没办法,得好好学习
发表于 2007-11-8 12:39:22 | 显示全部楼层
还不错,我也收藏了,谢谢楼主
发表于 2007-12-4 16:23:35 | 显示全部楼层
好东西,收藏着!!!!
发表于 2008-3-5 08:51:23 | 显示全部楼层
谢谢楼住,好资料,不错
发表于 2008-3-12 11:08:57 | 显示全部楼层
不懂 学习中
发表于 2008-4-7 16:20:57 | 显示全部楼层
ddddddddddddddddddddddddddddddddddddddd
发表于 2008-4-7 22:51:11 | 显示全部楼层
:) :)
发表于 2008-4-8 13:31:59 | 显示全部楼层
感谢分享 谢谢了!!
发表于 2008-4-8 13:36:22 | 显示全部楼层
感谢分享 谢谢了!!
发表于 2008-4-24 10:58:26 | 显示全部楼层
感谢楼主分享,支持中。。。。。。。。。。
发表于 2008-7-4 09:23:21 | 显示全部楼层
上次有人问我在EXCEL表上怎么做个税呢!?
早看到这个就好了!
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-4-30 19:19 , Processed in 0.069709 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表