生活中有很多场合需要根据不同档次适用不同的比例去计算某些数据,例如销售提成:销售额100万以内提成1%,200万到300万部分提成比例2%,等等。
本文以销售提成为例介绍此类问题计算方法,此方法可以推广。
基础数据说明
某公司关于销售提成的政策如下:
销售政策解释如下:100万以下部分提成比例3%,100到150万部分提成比例2%,以此类推。例如张三销售额为127万,那么他的提成为:100*3% 27*2%
公式解决方法-调整提成比例原始数据
由于原始计提政策标准是文本表达式,首先需要调整一下,才能方便后续进行公式设计和运算。如下图,将每个区间段下限提取出来:
要求在C2输入销售额,D列自动计算提成。
输入公式计算提成
在E2输入公式:
=SUM(TEXT(D2-B2:B6,'0;\0')*(C2:C6-C1:C5))
Ctrl Shift Enter运行公式,结果如下:
验算,销售提成=100*3% 50*2% 50*4% 172*6%=16.32
此处为了方便,把C1单元格的文本清空了,如果不清空也可以,但需要在E2的公式中做处理。
公式思路讲解
首先来分析下D2-B2:B6的结果:
当销售额的数字减去各提成阶段的下限时,如果出现负数就说明销售额没有达到那一档提成基准的下限。例如销售额为372,那么最后一个大于0的结果是172,也就是说最后一个提成比例是200位下限的等级,那么172乘以200为下限的提成比例就是销售额对应的最后一个提成等级需要计提的提成。
再比如,销售额是173和销售额是834:
销售额173的时候,最后一个提成等级对应的数字是23;销售额是834的时候,最后一个提成等级对应的数字是434。
总结一下,D2-B2:B6最后一个正数所在的提成等级是能提成的最后一个等级,该等级的提成=D2与该等级下限的差值*对应计提比例。D2-B2:B6结果是负数说明没有达到该等级下限,因此也不用计提提成。
由于负数对我们来说没有用,因此用text函数将D2-B2:B6小于0的变成0,如下:
小于0的数字,调整成0。
通过刚才的分析,D2-B2:B6差值最后一个正数所在级别的提成就等于差值*该级别的提成比例,再之前等级的提成,就按提成区间的上下限之差做基数,乘以提成区间对应的比例。例如:
除了172(D2-B2:B6差值最后一个正数)所在等级以172乘以该等级比例外,前面的提成金额均为当前提成等级上下限的差额*该等级的提成比例。
下面来看一下,如果D2-B2:B6直接乘以提成比例结果是如何的:
可以注意到,【(D2-B2:B6)*(计提比例)】公式计算金额只有最后一个正数所在行,也就是172所在等级提成就是应提成金额,以前等级提成都不对。那么差异在哪里,怎么调节呢?
我们来分析下公式计算金额172上面的222*4%:172是372-200得到的(也可以看成372-150-50),222是372-150得到的。222和172的差额就是222所在行提成等级上限和下限的差,也就是说222*4%多计算了172*4%。同理,可以看到272*2%多计提的部分是222*2%。因此,我们错位扣除即可。
下图的D1:D5,D2:D6应为C列数据,笔误。
也就是各等级应提成金额
=TEXT(E2-C2:C6,'0;\0')*D2:D6-TEXT(E2-C2:C6,'0;\0')*C1:C5
提取同类项得到:
=TEXT(E2-C2:C6,'0;\0')*(C2:C6-C1:C5)
外层再嵌套SUM求和即可。
超人一筹