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 應用程式
主選單
4463310454057539311
true
搜尋說明中心
false
true
true
true
true
true
35
false
false
false
false