一、薪酬个人所得税计算公式

下图是薪酬个人所得税如额累进税率,所得额扣除基数为3500元。

假定某人月工资收入10000元,那么其应交个人所得税为:

(10000-3500)*20%-555=745

如何用Excel编一个通用公式,自动判定每个人所得税对于的税率和扣除数?税率有7个,对应的扣除数也有7个,不由得想到的数组公式的奇妙作用,用它编一个公式是不是问题就可以迎韧而解?

数组运算,是将对应位置的数据进行运算。那么这10000元计算过程用数组可以表示为:

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

”-“前是用所得额与各级税率相乘,得出数组为:{195,650,1300,1625,1950,2275,2925},与扣除数的数组相减,其结果为:{195,545,745,620,-805,-3230,-10580},745为数组中最大的,也是正确结果。运用MAX函数就可解决,最外再套一层round函数精确到元。

其公式可以写为:

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

假定工资额填在A列,如下图。

二、vlookup函数巧换A、B列

vlookup是一个很不错按首列查找对应数据的函数,能够多繁多的数据表中找出想要的数据,非常实用。如下图:

要想查找张三的语文成绩,只需输入公式:

=vlookup(“张三“,B2:F11,3,0),在B2:F11范围内以B列为第一列查第三列数据。这是vlookup函数的常规用法,即以首列为参数查找其后某一列的数。但是,在日常工作中,我们也会遇到以末列求前面某列的数据,如图,如果要查张三的考号,怎么能用vlookup来实现呢?

这时就要用到数组的强大功能,重新生成一个数组,来满足需要。如下图

选定I2:J11,然后输入公式=IF({1,0},B2:B11,A2:A11),使用数组组合键后,就会看到姓各列和考号列顺序进行了交换。上面的公式修改为:

=vlookup(“张三”,IF({1,0},B2:B11,A2:A11),2,0)

再使用数组组合键输入公式就可以了。

第三例还没有打到,工作中遇到的太少了。