知方号

知方号

MAX函数在个税计算实例的应用<个人所得税超额累进税率如何计算>

MAX函数在个税计算实例的应用

相信很多做财务的朋友会碰到计算个税的情况。那么我们在Excel上应该如何计算呢?需要用到哪些函数和公式?

计算公式

应纳税额=(工资薪金所得 -“五险一金”)×适用税率-速算扣除数

个税免征额是3500,使用超额累进税率的计算。

个税计算方案

单纯用函数,至少有以下几种:

IF函数,VLOOKUP函数,MATCH函数+INDEX函数,MAX函数

那么我们应该选择哪一种函数计算呢?

1.IF函数

IF函数在EXCEL中很常用,逻辑简单 ,易用。但是个税按照七级累进税率进行,如果用IF函数计算,需要嵌套6层IF函数。虽然IF函数本身简单,但是嵌套6层就变得不复杂了,容易出错。我们应尽量避免多重IF函数嵌套,这是一个基本应用原则。

2.VLOOKUP函数

这个函数也很常用。在这里需要查找对应税率和速算扣除数,得先加辅助列/辅助行,然后调用2次VLOOKUP,找到对应的税率和速算扣除数后再做运算,稍复杂。

3.MATCH函数+INDEX函数

同样也要加辅助列/辅助行,然后用MATCH函数找到相应税率所在的位置,然后根据返回的“位置”数值,利用INDEX函数找到税率和速算扣除数。最后再来计算应缴税额。组合了两个函数,比起VLOOKUP还要复杂些。

4.MAX函数

这里我要重点说的就是MAX函数,表面看起来MAX函数只是一个很简单的比较取最大值函数。但是如果我们加入“数组”的概念就非常有意思了。

无论是IF,VLOOKUP,还是MATCH+INDEX,逻辑都是先根据工资数找到对应的税率和速算扣除数,然后进行运算。

但是用MAX函数,我们不妨换一种逻辑。

来,先不管对应的税率和速算扣除数应该选哪组,我先按照所有税率分别算出一个结果来。然后,通过比较每一个结果,找到合适的。而恰巧,我们又发现,所有的结果里面,最大值对应的税率就是正确的(对此有疑问的同学可以推算验证一下)。

MAX函数在个税计算中的应用

=MAX((G3-3500)*{0.03;0.1;0.2;0.25;0.3;0.35;0.45}-{0;105;555;1005;2755;5505;13505},0)

注释:

1)公式在H3输入;

2)G3为扣除“五险一金后工资”;

3){0.03;0.1;0.2;0.25;0.3;0.35;0.45}为税率数组;

4){0;105;555;1005;2755;5505;13505}为对应的速算扣除数数组。

(这里不展开讲数组,我之前专门写过一篇文章,让你秒懂数组的原理。)

这个公式的意思的是,扣除了五险一金之后的工资,减去个税起征点3500,然后乘以税率,再减去速算扣除数。而用大括号{}包起来的代表数组,所以

(G3-3500)*{0.03;0.1;0.2;0.25;0.3;0.35;0.45}-{0;105;555;1005;2755;5505;13505}返回的也是一个数组,共有7个数值(可能有正数和负数,可能全部为正数,还有可能全部为负数)。但是我们知道应缴税额不能为负数对吧。所以,最后通过MAX函数把这七个数值,额外加一个0值一起做比较,取最大值。

也就是说,如果得出的结果全部是负数,那么返回的最大值就是0值(免征个税)。

计算个税,至少有以上四种方法(其实还有VBA)。希望同学们碰到问题的时候多琢磨,多尝试,灵活应用。也许你还能找到比这更高效更快捷的方法。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。