编码级别:初级
时长:10 分钟
项目类型:自定义函数
目标
- 了解该解决方案的用途。
- 了解 Apps Script 服务在解决方案中的作用。
- 设置脚本。
- 运行脚本。
关于此解决方案
如果您为客户提供分级定价系统,则可以使用此自定义函数更轻松地计算价格的折扣金额。
虽然您可以使用内置函数 SUMPRODUCT
进行分层定价计算,但与此解决方案的自定义函数相比,使用 SUMPRODUCT
更复杂且灵活性较低。
工作原理
分级定价模式是指商品或服务的价格会根据购买数量而降低。
例如,假设您有两个层级,一个层级的价格范围为 0-500 美元,折扣率为 10%;另一个层级的价格范围为 501-1,000 美元,折扣率为 20%。如果您需要计算的总价格为 700 美元,该脚本会将前 500 美元乘以 10%,将剩余的 200 美元乘以 20%,总折扣金额为 90 美元。
对于给定的总价,该脚本会循环遍历层级价格表中的指定层级。对于总价中位于某个层级内的每个部分,该部分会乘以该层级的相关百分比值。结果是每个层级计算结果的总和。
Apps Script 服务
此解决方案使用以下服务:
- 电子表格服务 - 接受给定值,并计算该值的哪一部分要乘以每个层级的折扣百分比。
前提条件
如需使用此示例,您需要满足以下前提条件:
- Google 账号(Google Workspace 账号可能需要管理员批准)。
- 一个能够访问互联网的网络浏览器。
设置脚本
点击下方的按钮,复制层级价格自定义函数电子表格。此解决方案的 Apps 脚本项目已附加到电子表格中。
复制
运行脚本
- 在您复制的电子表格中,第 16 行中的表格显示了软件即服务 (SaaS) 产品的示例价格计算。
- 如需计算折扣金额,请在单元格
C20
中输入=tierPrice(C19,$B$3:$D$6)
。最终价格会更新到单元格C21
。如果您所在的位置使用英文逗号作为小数点,则可能需要改为输入=tierPrice(C19;$B$3:$D$6)
。
查看代码
如需查看此解决方案的 Apps 脚本代码,请点击下方的查看源代码:
查看源代码
Code.gs
修改
您可以根据需要修改自定义函数。下面是可选的附加内容,用于手动刷新自定义函数结果。
刷新缓存的结果
与内置函数不同,Google 会缓存自定义函数以优化性能。因此,如果您更改自定义函数中的某些内容(例如正在计算的值),系统可能不会立即强制更新。如需手动刷新函数结果,请按以下步骤操作:
- 依次点击插入 > 复选框,在空白单元格中添加复选框。
- 将包含复选框的单元格添加为自定义函数的额外参数。例如,如果您向单元格
D20
添加复选框,请将单元格C20
中的tierPrice()
函数更新为=tierPrice(C19,$B$3:$D$6,D20)
。 - 选中或取消选中复选框,以刷新自定义函数结果。
贡献者
此示例由 Google 维护,并由 Google 开发者专家提供帮助。