专栏名称: Excel图表之道
畅销书《Excel图表之道》同名公众号。作者@刘万祥ExcelPro,专注于专业有效、简单实用的商务图表沟通之道,帮助您用Excel制作出具有杂志级品质的商业图表。
目录
相关文章推荐
完美Excel  ·  使用deepseek在Excel用户窗体中生 ... ·  昨天  
Excel之家ExcelHome  ·  TEXT函数用处多,多干工作多背锅 ·  3 天前  
完美Excel  ·  deepseek使用心得2:向deepsee ... ·  5 天前  
完美Excel  ·  可以在微信上使用deepseek了 ·  3 天前  
完美Excel  ·  使用deepseek自动合并工作簿 ·  6 天前  
51好读  ›  专栏  ›  Excel图表之道

高阶运用:动态图表模型演示个税起征点和税率调整的变化

Excel图表之道  · 公众号  · Excel  · 2018-07-02 20:20

正文

最近,关于个税起征点调整的信息,引起很多人关注,毕竟和我们每个人都相关。


按我的工资,要缴纳的个税下降了多少?幅度是多少?

不同的工资水平,要缴纳的个税下降了多少?幅度是多少?


这些问题,列表计算固然可以,但如果能够用动态图表模型来交互演示,就会直观清晰很多。用户选择或输入工资额,图表显示调整前后的应纳税额,下降的额度和幅度,一目了然。



但税率表里,3500到80000的范围跨度太大,如果全程画出来,低收入部分的变化幅度被压缩得太小,不便于观察,实际上这部分的下降幅度最大。



绝大部分人的工资都处于其中的一小段范围,希望观察自己对应的那一小段即可。因此,我们考虑将图表绘制的收入范围也做成动态的,以用户所选的工资水平为最大范围,让图表更清晰。这个是本例的难点。动图效果如下。


本例是Excel动态图表模型的高阶运用,有一定难度,相关知识和技巧可来自于《让你的图表动起来》课程。


制作思路




制作步骤


1、准备个税计算速查表。


根据工资计算个税,网络有流传极简的公式,不过涉及数组计算,常人并不易于理解。我们按税法的税率表来,相应地使用最常规的查找计算方法。


根据税法税率表,准备如下的新旧速查表,分别命名为速查表1和速查表2,便于后续引用。其中,在阈值数字上加0.01,让vlookup模糊查找时正确对应税率。



本次2018年个税改革调整,包括起征点、税率级差、和税前扣除项,表中T列反映了级差的变化,本例未考虑税前扣除项。


2、准备作图数据。


为了使用最少的数据量和更准确的数据点,我准备采用关键点坐标绘制连线的散点图来得到曲线。关键点的选择,除了新旧标准里的分档阈值,加上人们习惯关注的10000、20000这样的数据点,即图中的B列。



C、D列为关键点工资对应的调整前的应纳税所得额和应纳税额,E、F列为关键点工资对应的调整后的应纳税所得额和应纳税额。其中,E、F的公式如下:

E5:=MAX(B5-$E$2,0)

F5:=E5*VLOOKUP(E5,速查表2,2,1)-VLOOKUP(E5,速查表2,3,1)


就是根据税法公式来的:  应纳税额 =(工资 - 扣除额)* 税率 - 速算扣除数。注意vlookup的最后一个参数为1,表示模糊查找。


G、H列为调整前后的变化额度和幅度。


3、制作静态图表。


用B、D列数据作为x、y数据做带连线的散点图,再添加B、F列作为x、y数据的散点图,得到两条折线图,所反映的是新旧标准下,应纳税额随工资变化的趋势,二者之间的差距就是本次个税改革下调的部分。


4、增加突出当前工资数据点的交互功能。


提供一个单元格,让用户输入自己的工资,查看在图中对应的位置。为了操作方便,这里使用微调按钮来调整。微调按钮只支持到30000的范围,因此过渡一下,微调按钮的范围设置为35~80,步长5,换个单元格乘100,就是3500~80000的范围,步长500了。



根据这个x值,我们要在图表中对应位置画一条竖线,来标示当前工资及其对应的应纳税额。


这条竖线有5个点,最上的为目前范围内最大的y值,利用来显示当前工资额。第2个点是调整前的应纳税额,第4个点是调整后的应纳税额,从2到4段绘制实线的箭头,标示下降的额度。第3个点是2和4即调整前后点的中间点,利用来标示下降的百分比幅度。第5个点是0。看下图。



按以上思路,准备如下的数据。



将这组x、y数据添加到图表,并按例图格式化,添加数据标签,链接到相应的单元格。


现在,调整工资处的微调按钮,这条竖线应该左右移动,动态标示。


5、调整为自适应的工资范围。


目前,图表的工资范围是到80000,低收入部分的变化被压缩到很小,不便于观察。我们考虑根据用户选择的工资水平,动态计算图表的绘制范围,例如输入工资为8000,那么图表只需绘制到10000即可。


这个最大x值的计算,按当前工资以万为单位向上取整:

N2:=CEILING(K2,10000)


对应到数据源表的第几行,也就是图表需要绘制到数据源的第几行:

N3:=COUNTIF(B5:B21,"<="&N2)


根据这个第几行,定义如下的动态名称,

dy_x =OFFSET(calc!$B$5,0,0,calc!$N$3,1)

dy_y_3500 =OFFSET(calc!$D$5,0,0,calc!$N$3,1)

dy_y_5000 =OFFSET(calc!$F$5,0,0,calc!$N$3,1)


将图表中两条折线散点图的数据源,替换为这几个动态名称,图表就会变为自适应范围的动态图表。







请到「今天看啥」查看全文