在生活当中,往往涉及到梯度计算,比如个人所得税、月度水电费、运费、销售梯度提成等问题。
它们的共性在于:数值超过一定值、就会采用不同的计算比例。
这里以个人所得税为例子,来讲解在Excel当中如何实现梯度计算。
个人所得税速算规则解读
下图为个人所得税月度应缴纳税额速算表,大家比较熟悉。
如果小A当月工资元,应纳税是多少?(这里暂不考虑减免、社保扣费等问题)
算法一最基本的算法:
1、工资元,减去起征点,也就是说剩余的元需要缴税;
2、=+,按3%税率、按10%税率;
3、所以应纳税额=×3%+×10%=元。
算法二速算扣除数算法:
应纳税额=×10%-=元。
两者是完全一致的,只不过速算公式更加快速。
那么速算这个是怎么来的?
前面说到元中元按3%扣税、元按10%扣税,如果元全部按10%扣税,相当于其中的元多扣了(10%-3%),即*7%=元;
后面的速算扣除数以此类推.....
明白了这个道理,我们还可以采取第三种算法。
算法三全部按最低税率计入,超过的补税点:
×3%+×7%=元
解释:元中的元应按10%,实按3%,所以应补7%。
明白了基本的逻辑,我们在Excel当中就可以轻易实现梯度计算。
方法一Vlookup函数
下图中C2单元格内输入公式:
=IF(B2,0,VLOOKUP(B2-,{0,0.03;,0.1;,0.2;,0.25;,0.3;,0.35;,0.45},2,1)*(B2-)-VLOOKUP(B2-,{0,0;,;,;,;,;,;,},2,1))
公式看起来又臭又长,但基本原理还是,利用Vlookup模糊匹配功能找到工资对应的税率与速算扣除数在进行计算。
公式中间构建了匹配数组,所以公式看起来很长,你也可以直接建立参数表,供匹配使用。
=IF(B6,0,(B6-)*VLOOKUP(B6-,F:H,2,1)-VLOOKUP(B6-,F:H,3,1))
这样更好理解一点。
方法二MAX函数
C2单元格输入公式:
=MAX((B2-)*{3,10,20,25,30,35,45}%-{0,,,,,,},0)
这种算法颇有一种无赖的感觉。
算法原理是不管收入金额是多少,全部按照7个等级的税率算一遍速算,在7个结果中取最大的值,即为应扣个人所得税。
这里可能有小伙伴会比较疑惑,为何最大的一定是正确值。
这里我们举个例子,以元为计算标准,应交税元,在7个区间内的确为最大值。
税率低可以理解,税率高的时候,扣除数也高,所以高税率计算的税额不会高于正确税率的税额。
方法三SUMPRODUCT函数
C2单元格输入公式:
=SUMPRODUCT(TEXT(B2--{0,,,2,3,5,},"0;!0;0")*{0.03,0.07,0.1,0.05,0.05,0.05,0.1})
SUMPRODUCT函数返回乘积和,TEXT(,"0;!0,0")返回一个大于等于0的数,举个例子:
TEXT(-{0,,,2,3,5,}返回
{,,0,0,0,0,0};
税额计算公式为:×3%+×7%(元本应按税率10%,但是前面按3%算的,所以应补7%),算法原理同上面的。
方法四IF函数
IF函数多层嵌套,这里一共嵌套了7个IF函数。
编写公式的时候,及时利用Alt+Enter换行展示,看清来清晰明了,不至于把自己绕晕了^_^
方法五IFS函数
IFS函数是版本及以上才有的功能,最多可实现个条件的判断。
语法:IFS(条件1,值1,条件2,值2,条件3,值3......)
相较于IF函数,省去了多层嵌套,大大优化了公式的编写。
小结
以上就是关于Excel中梯度计算的一些方法,了解算法的基本原理、结合函数作用,我们就可以用不同公式的去实现。
今天的分享就到这里,希望对你有所帮助~