使用 LAMBDA 函數來建立自訂、可重複使用的函數,並按易記名稱呼叫它們。 新函數可在整個工作表中使用,並如原生 Excel 函數般呼叫。
您可以為常用的公式建立函數,不需要複製並貼上此公式 (這很容易出錯),並有效地將您自己的函數新增至原生 Excel 函數程式庫。 此外,LAMBDA 函數不需要 VBA、巨集或 JavaScript,因此非程式設計者也可以從其使用中獲益。
           
語法
=LAMBDA([parameter1, parameter2, …,] calculation)
| 引數 | 描述 | 
|---|---|
| 參數 | 您想要傳遞至函數的值,例如儲存格參照、字串或數字。 您最多只能輸入 253 個參數。 此引數為選用。 | 
| 計算 | 您想要執行的公式,並做為函數的結果傳回。 它必須是最後一個引數,而且必須傳回結果。 此引數為必要。 | 
註解
錯誤
- 
              如果您輸入超過 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 函數的任何名稱,例如字串常數、儲存格範圍或表格。
程序
- 
                  執行下列其中一個動作: - 
                      在 Windows 版 Excel 中,選取 [公式] > [名稱管理員]。 
- 
                      在 Mac 版 Excel 中,選取 [公式] > [定義名稱]。 
 
- 
                      
- 
                  選取 [新增],然後在 [新增名稱] 對話方塊中輸入資訊: 名稱: 輸入 LAMBDA 函數的名稱。 範圍: 預設值為活頁簿。 您也可以使用個別的工作表,但 Excel 網頁版 除外。 註解: 選用,但強烈建議設定。 最多可輸入 255 個字元。 簡單描述函數的用途,以及正確的引數數目和類型。 當您輸入公式並使用公式自動完成 (也稱為 Intellisense) 時,會顯示在 [插入函數] 對話方塊中,並顯示為工具提示 (以及計算引數)。 參照對象為: 輸入 LAMBDA 函數。 例如: 
- 
                  若要建立 LAMBDA 函數,請選取 [確定]。 
- 
                  若要關閉 [名稱管理員] 對話方塊,請選取 [關閉]。 
如需詳細資訊,請參閱使用名稱管理員。
範例
在名稱管理員中定義下列項目:
| 名稱: | 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 技術社群中的專家,或在社群中取得支援。
 
                         
				 
				