1、MAX函数在个税计算实例的应用作者:黄波艺相信很多做财务的朋友会碰到计算个税的情况。那么我 们 在 Excel 上应该如何计算呢?需要用到哪些函数和公式?计算公式应纳税额=(工资薪金所得 “五险一金”)适用税率速算扣除数个税免征额是 3500,使用超额 累进税率的计算。单纯用函数,至少有以下几种:IF 函数,VLOOKUP 函数,MATCH 函数+INDEX 函数,MAX 函数那么我们应该选择哪一种函数计算呢?1. IF 函数IF 函数在 EXCEL 中很常用,逻辑简单 ,易用。但是个税按照七级累进税率进行,如果用 IF 函数计算,需要嵌套 6 层 IF 函数。虽然 IF 函数本身 简单,但是
2、嵌套 6 层就变 得不复杂了,容易出错。我们应尽量避免多重 IF 函数嵌套,这是一个基本应用原则 。2. VLOOKUP 函数这个函数也很常用。在这里需要 查找对应税率和速算扣除数,得先加辅助列/辅助行,然后调用 2 次 VLOOKUP,找到对应的税率和速算扣除数后再做运算,稍复杂。3. MATCH 函数+INDEX 函数同样也要加辅助列/辅助行,然后用 MATCH 函数找到相应 税率所在的位置,然后根据返回的 “位置”数值,利用INDEX 函数找到税率和速算扣除数。最后再来计算应缴税 额。 组合了两个函数,比起 VLOOKUP 还要复杂些。4. MAX 函数这里我要重点说的就是 MAX 函数
3、,表面看起来 MAX 函数只是一个很简单的比较取最大值函数。但是如果我 们加入“数组”的概念就非常有意思了。无论是 IF,VLOOKUP,还是 MATCH+INDEX,逻辑都是先根据工资数找到对应的税率和速算扣除数,然后进行运算。但是用 MAX 函数,我们不妨换一种逻辑。就是,我先不管对应的税率和速算扣除数 应该选哪组,我先按照所有税率分别算出一个结果来。然后,通 过比较每一个结果,找到合适的。而恰巧,我们又发现,所有的 结果里面,最大 值对应的税率就是正确的(对此有疑问的同学可以推算验证一下)。=MAX(G3-3500)*0.03;0.1;0.2;0.25;0.3;0.35;0.45-0;1
4、05;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)。希望同学们碰到问题的时候多琢磨,多 尝试,灵活应用。也许你还能找到比这更高效更快捷的方法。