今天讲解一个经典案例:用不同面额凑金额。
案例:计算出下图 1 的 A2 单元格中的金额分别需要多少数量的各种面额来凑?
要尽可能凑最大面额。
效果如下图 2 所示。


1. 在 B 列按降序顺序列出所有面值的金额,将 D 列设置为“剩余金额”列。

2. 在 C2 单元格中输入以下公式:
=INT(A2/B2)


公式释义:
int 函数的作用是向下取整;将 A2 除以 B2 的余数向下取整后,已经算出了 100 面额能占到的最大数量。
3. 在 D2 单元格中输入以下公式:
=ROUND(A2-B2*C2,2)


公式释义:
用 A2 的金额减去 B2 与 C2 的乘积,就能得到剩余要分配的金额;
用 round 函数取整,保留 2 位小数;以确保结果到最后都精确。
4. 在 C3 单元格中输入以下公式 --> 下拉复制公式:
=INT(D2/B3)


公式释义:
用剩余金额除以下一个较小的面额,取整后得出所需的最大数量。
5. 在 D3 单元格中输入以下公式 --> 下拉复制公式:
=ROUND(D2-B3*C3,2)


公式释义:
公式的原理跟 D2 一样,就是用剩余金额减去上一档已分配的总额,得出当前余额。