程式碼程度:初學者
時間長度:10 分鐘
專案類型:自訂函式
目標
- 瞭解解決方案的功能。
- 瞭解解決方案中的 Apps Script 服務功能。
- 設定指令碼。
- 執行指令碼。
認識這項解決方案
如果您為顧客提供分層定價系統,這個自訂函式可協助您輕鬆計算價格的折扣金額。
雖然您可以使用內建函式 SUMPRODUCT
進行分層定價計算,但與這個解決方案的自訂函式相比,使用 SUMPRODUCT
較為複雜且彈性較低。
運作方式
分層定價模式是指商品或服務的成本會根據購買數量而降低。
舉例來說,假設你有兩個等級,一個是 $0 美元至 $500 美元,可享 10% 折扣;另一個是 $501 美元至 $1,000 美元,可享 20% 折扣。假設要計算折扣的總價為 $700 美元,指令碼會將前 $500 美元乘以 10%,其餘 $200 美元乘以 20%,總折扣為 $90 美元。
針對特定總價,指令碼會逐一檢查層級價格表中的指定層級。總價中屬於各級別的部分,會乘以該級別的相關百分比值。最終結果是各層級計算結果的總和。
Apps Script 服務
這項解決方案會使用下列服務:
- 試算表服務:取得指定值,並計算要將該值的多少比例乘以各層級的折扣百分比。
必要條件
如要使用這個範例,您必須符合下列先決條件:
- Google 帳戶 (Google Workspace 帳戶可能需要管理員核准)。
- 可連上網際網路的網路瀏覽器。
設定指令碼
點選下方按鈕,複製「Tier pricing custom function」(分層定價自訂函式)試算表。這個解決方案的 Apps Script 專案已附加至試算表。
建立副本
執行指令碼
- 在複製的試算表中,第 16 列的表格會顯示軟體即服務 (SaaS) 產品的價格計算範例。
- 如要計算折扣金額,請在儲存格
C20
中輸入=tierPrice(C19,$B$3:$D$6)
。最終價格會更新至儲存格C21
。如果您所在地區使用小數點逗號,可能需要改為輸入=tierPrice(C19;$B$3:$D$6)
。
檢查程式碼
如要查看這項解決方案的 Apps Script 程式碼,請按一下下方的「查看原始碼」:
查看原始碼
Code.gs
修正規則
您可以視需要編輯自訂函式。以下是手動重新整理自訂函式結果的選用方法。
重新整理快取結果
與內建函式不同,Google 會快取自訂函式,以提升效能。因此,如果您變更自訂函式中的某些項目 (例如正在計算的值),系統可能不會立即強制更新。如要手動重新整理函式結果,請按照下列步驟操作:
- 如要在空白儲存格中新增核取方塊,請依序點選「插入」>「核取方塊」。
- 將含有核取方塊的儲存格新增為自訂函式的額外參數。舉例來說,如果您在儲存格
D20
中新增核取方塊,請將儲存格C20
中的tierPrice()
函式更新為=tierPrice(C19,$B$3:$D$6,D20)
。 - 勾選或取消勾選核取方塊,即可重新整理自訂函式結果。
貢獻者
這個範例由 Google 維護,並由 Google 開發人員專家協助。