LAMBDA 函式

你可以使用一組名稱和一個會使用這些名稱的 formula_expression 來建立及傳回自訂函式。如要計算 formula_expression,你可以透過 name 宣告的任意數量的值來呼叫傳回的函式。

用法示範

LAMBDA(Salary, Salary*0.3)(1000)

LAMBDA(Temp, (5/9)*(Temp-32))(85)

語法

LAMBDA(name, formula_expression)

  • name:要用於 formula_expression 中的名稱。這個名稱必須是一個識別 ID 並且會解析為實際值,然後傳遞給 LAMBDA 傳回的自訂函式。
  • formula_expression:要計算的公式,系統在計算這個公式時會使用前面參數所宣告的名稱。

附註

  • 如果系統預期使用者要輸入另一個函式做為已命名函式內的引數,此時可以使用 LAMBDA 或已命名函式。

範例

範例資料:

LAMBDA example data.

單獨使用 LAMBDA

你可以編寫 LAMBDA 函式來計算薪資所得稅,假設稅率為 30%。你要在函式後面輸入薪資值。LAMBDA standalone example

範例:=LAMBDA(salary, salary*0.3)(C5)

這會計算第 1 個月的稅金。

在 LAMBDA 輔助函式中使用 LAMBDA

如要執行進階的陣列運算,請在 LAMBDA 輔助函式 (LHF) 中使用 LAMBDA 函式。

Example of LAMBDA inside a LAMBDA Helper Function (LFH)

範例:=MAP(C5:C10, LAMBDA(salary, salary*0.3))

這會針對 C5:C10 陣列中的每個項目執行 salary * 0.3 (薪資 * 0.3) 的計算。

在已命名函式中使用 LAMBDA

你可以在已命名函式中使用 LAMBDA 函式做為其中引數。請參閱這篇文章,進一步瞭解已命名函式。

Example of Lambda inside a Named function.

已命名函式:AVG_MONTHLY_TAX(range, tax_calculator_function)

公式定義:=tax_calculator_function(sum(range))/count(range)

你可以使用 LAMBDA 函式編寫 tax_calculator_function 引數。

範例:=AVG_MONTHLY_TAX(C5:C10,LAMBDA(range, range*0.3))

這會計算 1 到 6 月的每月平均稅金。

常見錯誤

名稱引數不是一個識別 ID

範例:=LAMBDA(3, x+1)(3)

如果第一個引數不是識別 ID,就會收到以下錯誤訊息:

Error message when you input an argument that is not an identifier.

識別 ID 相關規定:

  • 不能是範圍,例如「A1」或「A2」。
  • 不得包含空格或特殊字元,但可使用點號和底線。
  • 不得以數字開頭,例如「9hello」。

未呼叫 LAMBDA

發生這個錯誤的原因是沒有在 LAMBDA 後面加上內含值的呼叫。

範例:=LAMBDA(salary, salary*0.3)

如果沒有傳遞任何值給 salary,就會收到以下錯誤訊息:

Error message when you do not follow the LAMBDA with the call that contains the values.

如果 LAMBDA 是做為已命名函式中的引數,若沒有在已命名函式的定義中以所需值來呼叫代表該 LAMBDA 的預留位置,就表示未呼叫 LAMBDA。

範例:在公式定義中,如果你輸入 =tax_calculator_function/count(range)

而非 =tax_calculator_function(sum(range))/count(range),就會收到以下錯誤訊息:

Error message when you do not follow the LAMBDA with the call that contains the values in a Named function.

提示:如果是在 LAMBDA 輔助函式中使用 LAMBDA,則不會發生這個錯誤,因為 LAMBDA 輔助函式會自動參照指定的輸入範圍來使用 LAMBDA

Lambda 輔助函式

Lambda 輔助函式 (LHF) 是一種原生函式,除了可接受輸入陣列外,還接受可重複使用的 LAMBDA 做為引數。Lambda 輔助函式可針對輸入陣列中的每個值執行 LAMBDA 中指定的公式,協助執行進階陣列運算。傳遞可重複使用的 LAMBDA 時可採用 LAMBDA 函式或已命名函式的形式。
Lambda 輔助函式:

  • MAP 函式:這個函式會將指定陣列中的各個值對應為新值。
  • REDUCE 函式:這個函式會將陣列縮減為累計結果。
  • BYCOL 函式:這個函式會依照資料欄將陣列分組。
  • BYROW 函式:這個函式會依照資料列將陣列分組。
  • SCAN 函式:這個函式會掃描陣列並產生中繼值。
  • MAKEARRAY 函式:這個函式會建立指定維度的計算陣列。

相關函式

建立及使用已命名函式:可讓使用者建立及儲存自訂函式,類似於 LAMBDA

還有其他問題嗎?

嘗試以下步驟:

true
造訪學習中心

您有在公司或學校使用 Google 文件等 Google 產品嗎?快來試試實用的秘訣、教學課程和範本,瞭解如何在不安裝 Office 的情況下處理 Office 檔案、建立動態專案計劃和小組日曆、自動整理收件匣及進行其他作業。

搜尋
清除搜尋內容
關閉搜尋
Google 應用程式
主選單