求EXCEL高手帮忙解释下这个EXCEL公式

=ROUND(MAX((Z6-3500)*5%*{0.6,2,4,5,6,7,9}-5*{0,21,111,201,551,1101,2701},0),2)

1、z6-3500后乘5%再分别乘上“0.6,2,4,5,6,7,9”
2、5分别乘上“0,21,111,201,551,1101,2701”
3、用步骤1减去步骤2
4、取用步骤3得到的7个数和0之间的最大值。
5、根据步骤4,返回保留2位小数的数值。追问

能用一个实际的数据给我一步步算一次吗。我还是不明白。例如Z6是8000.那结果是多少呢

追答

好公式啊。算了后才发现,这个居然是缴税公式。
1、z6为3000。
则得到的数为:-15、-155、-655、-1130、-2905、-5680、-13730
加上0后得到的最大值为0
2、z6为3500
则得到的数为:0、-105、-555、-1055、-2755、-5505、-13505
加上0后得到的最大值为0
3、z6为4500
则得到的数为:30、-5、-355、-755、-2455、-5155、-13055
加上0后得到的最大值为30
4、z6为10000
则得到的数为:195、545、745、620、-805、-3230、-10580
加上0后得到的最大值为745

追问

大哥,我明白了。灰常感谢,采纳了。
还有一个请帮忙的,就是我想将这个公式转换成简单易懂的,有办法吗。这个很多人都看不懂。

追答

这个公式很好啊。如果要换成人人都看的懂的话,就会很复杂了。如果你要,可以帮你写一个。

追问

感谢,坐等了。

追答

还是对应上面公式的单元格,公式为:
=IF(Z6="","",(Z6-3500)*LOOKUP(Z6,{0,3500,5000,8000,12500,38500,58500,83500},{0,0.03,0.1,0.2,0.25,0.3,0.35,0.45})-LOOKUP(Z6,{0,3500,5000,8000,12500,38500,58500,83500},{0,0,105,555,1005,2755,5505,13505}))

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-26
1、z6-3500后乘5%的积,分别乘一维数组中“0.6,2,4,5,6,7,9”各个元素
2、5分别乘上“0,21,111,201,551,1101,2701”各个元素
3、用步骤1所得数组减去步骤2所得数组,是对应的数组中元素相减
4、查找步骤3得到数组中的7个数和0共8个数之间的最大值。
5、把步骤4得到的最大值格式化,保留2位小数的数值。

感觉这是宏语句啊,不是纯粹的公式吧,没用过这么复杂的公式,估计是神人出的考试题吧!
第2个回答  2013-09-26
数组部分的计算方式其实也简单,首先两个数组加减一定要期中的元素数量要一致,你的公式里都是7个。而加减的方式就是第一个元素减第一个元素,以此类推,得到新的一个7个元素的数组。
max部分也简单就是在0和另一个结果中选出一个最大值,其实就是只要Z6的值小于3500就肯定为0.
round的部分很容易理解,最终结果四舍五入保留2位小数。
第3个回答  2013-09-26
这个就是个税计算公式。其运算思路就是按照个税的各档起征点分辨选择对应的参数进行运算。追问

能帮给个简单易懂的其他公式不,只要效果一样就可以了。

追答

其实这个是所有个税公式中最简洁直观的了,直接用就是了呀。没有必要一定要搞清楚。
公式本身不难,主要是把个税算法进行了简化。比如说一个人月薪10000元,正常算法是(6500-4500)*0.2+(4500-1500)*0.1+1500*0.3,这种算法由于无法控制档数,不适合做成excel公式,
而你的这个公式的算法是6500*0.2然后补上低档多计算的部分,因为这部分总是定值,易于表达。

相似回答