手机版

累进佣金 超出了IF的范围 可以通过LOOKUP、SUM、OFFSET、MATCH来解决

时间:2021-09-18 来源:互联网 编辑:宝哥软件园 浏览:

根据指定的销售分类区间,按照相应的佣金率计算每个区间的佣金金额,最后汇总。

例如,如果销售量为4,750,累进佣金的计算公式为=1000 * 1% 1000 * 1.2% 1000 * 1.4% 1000 * 1.6% 750 * 1.8%=65.5。

示例数据如下:

这个例子的问题仅靠IF的多次嵌套是解决不了的,因为IF最多只允许9次嵌套。即使间隔没那么多,IF写的函数太长太啰嗦,也不是首选。

我们必须找到另一种方法。

关键操作添加辅助列。

增加了“区间最小值”和“区间佣金”两个辅助列,区间佣金通过1000乘以佣金率得到。下图:

逐步分析

以B12中单元格4750对应的递进提升为例。单元格4750对应的销售范围是F7的4000 ~ 4999,所以对应的佣金应该是C12=(B12-G7) * H7总和(I:I6)。

解决三个问题:

找到对应于B12的区间G7:Lookup的最低值(B12,$ g $: $ g $13)。

找到对应于G7的佣金率H7:Lookup (B12,g $ :g $ 13,h $ :h $ 13)。

计算SUM(I:I6),以及I: i6区域的表示:offset (i3,match (B12,$ g $3: $ g $13,1)-1,)。

MATCH(B12,$G$3:$G$13,1)指的是在G3:G13区域找到小于B12的最大值的顺序。

C12的公式可以写成:

=(B12-LOOKUP(B12,G $ 3:G $ 12))* LOOKUP(B12,G $ 3:G $ 12,H $ 3:H $ 12)SUM(OFFSET(I $ 3,MATCH(B12,G $ 3:G $ 13,1)-1,)

但是,当公式上下填充时,会出现错误:

原因是如果销售金额小于1000,Match (B12,$ g $: $ g $13,1)-1的返回值为0。

当销售金额小于1000时,没有分级区间对应的累进佣金,因此公式进一步改进如下:

=(B3-LOOKUP(B3,G $ 3:G $ 13))* LOOKUP(B3,G $ 3:G $ 13,H $ :H $ 13)IF(b 31000,0,SUM(OFFSET($I$3,MATCH(B3,G $ :G $ 13,1)-1,)

此时,累进佣金计算如下:

发展

这种方法可以应用于各种区际积累问题,如累进税率。

版权声明:累进佣金 超出了IF的范围 可以通过LOOKUP、SUM、OFFSET、MATCH来解决是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。