EXCEL 函数,数组问题

来源:百度知道 编辑:UC知道 时间:2024/06/18 10:05:53
个人所得税计算公式,谁给解释一下公式的意思,以后可以解决类似问题
=SUM((B19>{0;500;2000;5000;20000;40000;60000;80000;100000})*(B19-{0;500;2000;5000;20000;40000;60000;80000;100000})*0.05)

B19应该是超出2000部分的,此处以3000的工资,超出1000为例说明
先看(B19>{0;500;2000;5000;20000;40000;60000;80000;100000})
1000与数组中的每个数比较,符合条件(>)返回逻辑值TRUE(真),不符合返回FALSE(假),此两个值在此后的计算中当作1和0处理,此处返回结果为{TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}

再看(B19-{0;500;2000;5000;20000;40000;60000;80000;100000})
运算结果返回{1000;500;-1000;-4000;-19000;-39000;-59000;-79000;-99000},看了第一个比较的,这个结果应该容易理解,1000为工资3000在2000一档超出的,500为在2500这一档超出的

两部分相乘之后,结果就为{1000;500;0;0;0;0;0;0;0},为FALSE的部分相乘结果为0,最后乘0.05求和,即为所得税

至于这个结果为何是所求的,这只是公式思路不同,比如应付税工资超出了3档,超出部分分别为X,Y,Z(原工资为2000+X+Y+Z),一般算法是X*0.05+Y*0.1+Z*0.15,此处是(X+Y+Z)*0.05+(Y+Z)*0.05+Z*0.05

网上流传更多的是另一个公式MAX((A1-2000)*0.05*{1,2,3,4,5,6,7,8,9}-25*{0,1,5,15,55,135,255,415,615},0),这个公式理解起来相对困难些,总体来说就是把超出部分乘以每一级的税率,再减去乘以相应税率后多算的部分,最后求最大值

你的公式不对吧?都是0.05?
你是辽阳的?
老乡啊,给你说说吧
公式的意思 假设b19 2100

B19>{0;500;2000;5000;20000;40000;60000;80000;100000})
的结果是 true,true,true,false,,,,,,,,,false
fa