编码级别:新手
时长:10 分钟
项目类型:自定义函数
目标
- 了解解决方案的用途。
- 了解 Apps 脚本服务在此解决方案中执行的操作。
- 设置脚本。
- 运行脚本。
关于此解决方案
如果您为客户提供分层定价系统,此自定义函数可让您更轻松地计算价格的折扣金额。
虽然您可以使用内置函数 SUMPRODUCT
进行分层价格计算,但使用 SUMPRODUCT
比此解决方案的自定义函数更复杂,也更灵活。
运作方式
分层定价模式意味着商品或服务成本根据购买的数量而下降。
例如,假设您有两个层级,一个层级的范围为 $0-$500,折扣幅度为 10%,另一个层级的范围为 $501-$1,000,折扣幅度为 20%。如果您需要计算折扣的总价为 700 美元,该脚本会将前 500 美元乘以 10%,将剩余的 200 美元乘以 20%,从而得出总折扣为 90 美元。
对于给定的总价,脚本会循环遍历层级价格表中的指定层级。对于某个层级内总价的每一部分,需要将这部分乘以该层级的关联百分比值。结果是每个层级的计算结果的总和。
Apps 脚本服务
此解决方案使用以下服务:
- 电子表格服务 - 接受给定值,并计算要将值的哪个部分乘以每个层级的百分比折扣。
前提条件
如需使用此示例,您需要满足以下前提条件:
- 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 开发者专家的帮助下进行维护。