Applies ToExcel for Microsoft 365 Excel for Microsoft 365 for Mac Excel for the web Excel 2024 Excel 2024 for Mac

使用 LAMBDA 函數來建立自訂、可重複使用的函數,並按易記名稱呼叫它們。 新函數可在整個工作表中使用,並如原生 Excel 函數般呼叫。

您可以為常用的公式建立函數,不需要複製並貼上此公式 (這很容易出錯),並有效地將您自己的函數新增至原生 Excel 函數程式庫。 此外,LAMBDA 函數不需要 VBA、巨集或 JavaScript,因此非程式設計人員也可以因使用它而獲益。 

LAMBDA 函數的運作方式

語法

=LAMBDA([parameter1, parameter2, …,] calculation)    

引數

描述

參數

您想要傳遞至函數的值,例如儲存格參照、字串或數字。 您最多只能輸入 253 個參數。 此引數為選用。

計算

您想要執行的公式,並做為函數的結果傳回。 它必須是最後一個引數,而且必須傳回結果。 此引數為必要。

註解

  • Lambda 名稱和參數會針對名稱遵循 Excel 語法規則,但有一個例外:請勿在 參數名稱中使用句點 (.)。 如需詳細資訊,請參閱公式中的名稱

  • 建立 LAMBDA 函數時請務必遵循最佳作法,就像您使用任何原生 Excel 公式一樣,例如傳遞正確的引數數目和類型、相符的左括弧和右括弧,以及將數字輸入為未格式化。 此外,當您使用評估命令,Excel 會立即傳回 LAMBDA 函數的結果,而且無法逐步執行。 如需詳細資訊,請參閱偵測公式中的錯誤

錯誤

  • 如果您輸入超過 253 個參數,Excel 會傳回 #VALUE! 錯誤。

  • 如果傳遞給 LAMBDA 函數的引數數目不正確,Excel 會傳回 #VALUE! 錯誤。

  • 如果您從 LAMBDA 函數本身呼叫某個函數,而呼叫是循環,Excel 可能傳回 #NUM! 錯誤 (如果有太多遞迴呼叫)。

  • 如果您在儲存格中建立 LAMBDA 函數,但未同時從儲存格內呼叫它,Excel 會傳回 #CALC! 錯誤。

建立 LAMBDA 函數

以下是要遵循的逐步程序,可協助確保您的 Lambda 如預期運作,且非常類似原生 Excel 函數的行為。

確定您用於計算引數中的公式可正確執行。 這非常重要,因為當您建立 LAMBDA 函數,您想要確保公式正常運作,而且如果遇到錯誤或非預期的行為,則可以排除該公式。 如需詳細資訊,請參閱 Excel 中的公式概觀在 Excel 中建立簡單公式

最佳做法是在儲存格中建立和測試您的 LAMBDA 函數,以確保其正確運作,包括定義和傳遞參數。 若要避免 #CALC! 錯誤,請新增對 LAMBDA 函數的呼叫,以立即傳回結果:

=LAMBDA function ([parameter1, parameter2, ...],calculation) (function call)

下列範例會傳回值 2。=LAMBDA(number, number + 1)(1)

完成 LAMBDA 函數之後,請將其移至名稱管理員以進行最終定義。 如此一來,您可以為 LAMBDA 函數指定有意義的名稱、提供描述,然後讓它可從活頁簿的任何儲存格重複使用。 您也可以盡可能管理 LAMBDA 函數的任何名稱,例如字串常數、儲存格範圍或表格。

程序

  1. 執行下列其中一個動作:

    • 在 Windows 版 Excel 中,選取 [公式] > [名稱管理員]

    • 在 Mac 版 Excel 中,選取 [公式] > [定義名稱]

  2. 選取 [新增],然後在 [新增名稱] 對話方塊中輸入資訊:  

    名稱:

    輸入 LAMBDA 函數的名稱。

    範圍:

    預設值為活頁簿。 也可以是個別工作表。

    註解:

    選用,但強烈建議設定。 最多可輸入 255 個字元。 簡單描述函數的用途,以及正確的引數數目和類型。

    當您輸入公式並使用公式自動完成 (也稱為 Intellisense) 時,會顯示在 [插入函數] 對話方塊中,並顯示為工具提示 (以及計算引數)。

    參照對象為:

    輸入 LAMBDA 函數。 

    例如: 在 Name Manager 中定義 LAMBDA 函數

  3. 若要建立 LAMBDA 函數,請選取 [確定]

  4. 若要關閉 [名稱管理員] 對話方塊,請選取 [關閉]

如需詳細資訊,請參閱使用名稱管理員

範例

在名稱管理員中定義下列項目:

名稱:

ToCelsius

範圍:

活頁簿

註解:

將華氏溫度轉換成攝氏

參照對象為:

=LAMBDA(temp, (5/9) * (Temp-32))

請在下列表格中複製範例資料,再將之貼到新 Excel 活頁簿中的儲存格 A1。 如有需要,您可以調整欄寬來查看所有資料。

資料

104

86

68

50

32

公式

結果

=TOCELSIUS(A2)

40

=TOCELSIUS(A3)

30

=TOCELSIUS(A4)

20

=TOCELSIUS(A5)

10

=TOCELSIUS(A6)

0

在名稱管理員中定義下列項目:

名稱:

Hypotenuse

範圍:

活頁簿

註解:

傳回直角三角形斜邊的長度

參照對象為:

=LAMBDA(a, b, SQRT((a^2+b^2)))

請在下列表格中複製範例資料,再將之貼到新 Excel 活頁簿中的儲存格 A1。 如有需要,您可以調整欄寬來查看所有資料。

資料

3

4

5

12

7

24

9

40

公式

結果

=HYPOTENUSE(A2,B2)

5

=HYPOTENUSE(A3,B3)

13

=HYPOTENUSE(A4,B4)

25

=HYPOTENUSE(A5,B5)

41

在名稱管理員中定義下列項目:

名稱:

CountWords

範圍:

活頁簿

註解:

傳回文字字串中的字數

參照對象為:

=LAMBDA(text, LEN(TRIM(text)) - LEN(SUBSTITUTE(TRIM(text), " ", "")) + 1)

請在下列表格中複製範例資料,再將之貼到新 Excel 活頁簿中的儲存格 A1。 如有需要,您可以調整欄寬來查看所有資料。

資料

Something wicked this way comes.

I came, I saw, I conquered.

A quick brown fox jumped over the lazy dog.

Use the Force, Luke!

公式

結果

=COUNTWORDS(A2)

5

=COUNTWORDS(A3)

6

=COUNTWORDS(A4)

9

=COUNTWORDS(A5)

4

在名稱管理員中定義下列項目:

名稱:

ThanksgivingDate

範圍:

活頁簿

註解:

傳回某一年美國感恩節的日期

參照對象為:

=LAMBDA(年, TEXT(DATE(年, 11, CHOOSE(WEEKDAY(DATE(年, 11, 1)), 26, 25, 24, 23, 22, 28, 27)), "yyyy/mm/dd"))

請在下列表格中複製範例資料,再將之貼到新 Excel 活頁簿中的儲存格 A1。 如有需要,您可以調整欄寬來查看所有資料。

資料

2020

2021

2022

2023

2024

公式

結果

=THANKSGIVINGDATE(A2)

11/26/2020

=THANKSGIVINGDATE(A3)

11/25/2021

=THANKSGIVINGDATE(A4)

11/24/2022

=THANKSGIVINGDATE(A5)

11/23/2023

=THANKSGIVINGDATE(A6)

11/28/2024

需要更多協助嗎?

您可以隨時詢問 Excel 技術社群中的專家,或在社群中取得支援。

另請參閱

LET 函數

在 Excel 中建立自訂函數

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。