编码级别:初级
时长:10 分钟
项目类型:自定义函数
目标
- 了解此解决方案的功能。
- 了解 Google Apps 脚本服务在此解决方案中的功能。
- 设置脚本。
- 运行脚本。
关于此解决方案
如果您为客户提供分级定价系统,则此自定义函数可让您更轻松地在 Google 表格中计算价格的折扣金额。
虽然您可以使用内置函数 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(C19,$B$3:$D$6,D20)。tierPrice() - 选中或取消选中复选框,以刷新自定义函数结果。
贡献者
此示例由 Google 在 Google 开发者专家的帮助下维护。