欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Office

Excel数组公式运用自动判定每个人所得税及税率和扣除数

程序员文章站 2022-03-04 19:21:28
一、薪酬个人所得税计算公式 下图是薪酬个人所得税如额累进税率,所得额扣除基数为3500元。 假定某人月工资收入10000元,那么其应交个人所得税为: (1...

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

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

Excel数组公式运用自动判定每个人所得税及税率和扣除数

假定某人月工资收入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是一个很不错按首列查找对应数据的函数,能够多繁多的数据表中找出想要的数据,非常实用。如下图:

Excel数组公式运用自动判定每个人所得税及税率和扣除数

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

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

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

Excel数组公式运用自动判定每个人所得税及税率和扣除数

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

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

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

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