分段阶梯式计费的Excel套路公式

Excel学习世界 2024-12-02 21:55:39

今天教一个阶梯计算的套路公式,通常可以应用于计算阶梯式电费、个人所得税、阶梯式奖金分成等等。

案例:

规则如下,当销售额分别达到不同区间时,捐助的比例逐渐递增:

不超过 50000 元的部分:捐助比例 5%

超过 50000 元至 100000 元的部分:捐助比例 10%

超过 100000 元至 150000 元的部分:捐助比例 20%

超过 150000 元至 200000 元的部分:捐助比例 30%

超过 200000 元至 300000 元的部分:捐助比例 40%

超过 300000 元的部分:捐助比例 50%

根据上述规则,计算出下图 1 的 E 列每个金额分别需要捐助多少。

效果如下图 2 所示。

解决方案:

1. 在任意空白区域将数据表整理如红框区域所示:

增量部分的公式为每一档减去上一档的差值;

2. 在 F2 单元格中输入以下公式 --> 下拉复制公式:

=SUM(TEXT((E2-$B$10:$B$15),"0;\0")*($C$10:$C$15))

为了帮助大家清楚理解整个公式,我把每一段公式的结算结果显示给大家看。

公式释义:

E2-$B$10:$B$15:将 E2 单元格的值分别与区域 $B$10:$B$15 内的每个值相减,结果为 {69128;19128;-30872;-80872;-130872;-230872};

TEXT(...,"0;\0"):

上述结果大家也看到了,有负数;外面套上 text 函数的作用就是将负数都变成 0;

参数中分号隔开的两段分别代表正数和负数的格式;0 表示显示数值本身,“\”或“!”表示强制显示符号后面的字符;因此这里的公式表示正数不变,负数就强制变为 0 值;

选中 text 公式部分,按 F9,就可以看到下图 2 的计算结果,负数全都变成了 0;

这段公式的目的是计算出落在每个级数区间,以及大于该区间的所有值;比如第一个结果是 69128,这部分金额的捐助比例包含了 5% 以及 5% 以上,我们就全部列出;第二个结果是 19128,这部分值的比例在 10%;超出 10% 的没有了,因此截止至此;

...*($C$10:$C$15):将 text 函数的结算结果与 C 列的每一档比率增量相乘;为什么不是乘以捐助比例本身,而是它的增量呢?因为非增量的部分,已经在前面一档中计算进去了;

SUM(...):最后用 sum 函数对这每一档的数值求和,就是最终结果

0 阅读:1

Excel学习世界

简介:Excel 学习交流