Applies ToMicrosoft 365 Excel Mac 版 Microsoft 365 Excel Excel 網頁版 Excel 2024 Mac 版 Excel 2024

使用 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 中建立自訂函數

需要更多協助嗎?

想要其他選項嗎?

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

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