LAMBDA 是 Microsoft 365 Excel 提供的 自訂函數,讓你可以 建立自己的 Excel 函數,而 不需要 VBA 或巨集!
這讓 Excel 更具 動態性、可重用性,並且可以與 BYROW、BYCOL、SCAN、REDUCE 等函數組合使用,提升自動化數據處理能力。
? LAMBDA 函數語法
LAMBDA([參數1, 參數2, ...], 計算公式)
- 參數1, 參數2, …(可選):可傳遞的變數,讓函數更靈活。
- 計算公式:基於傳入的參數進行計算,並返回結果。
? LAMBDA 基本應用
1️⃣ 建立簡單的加法函數
=LAMBDA(x, y, x + y)(10, 20)
? 結果:30
? 說明:
LAMBDA(x, y, x + y)定義了一個函數,接受兩個參數x和y,回傳它們的總和。(10, 20)代表x=10,y=20,計算10+20=30。
2️⃣ LAMBDA 與 BYROW 結合
計算每行的總和
=BYROW(A1:D5, LAMBDA(row, SUM(row)))
? 作用:對範圍 A1:D5 每一行 計算總和。
3️⃣ LAMBDA 與 BYCOL 結合
計算每列的平均值
=BYCOL(A1:D5, LAMBDA(col, AVERAGE(col)))
? 作用:對 每一列 計算平均值。
?️ 進階 LAMBDA 範例
4️⃣ 創建可重複使用的函數
? 將 LAMBDA 存成 Excel 命名函數!
- 在 Excel 公式選單,點選 名稱管理員(Ctrl + F3)。
- 新增名稱(如
MySum)。 - 公式輸入:
=LAMBDA(x, y, x + y) - 按下確定。
? 之後可以直接在 Excel 使用 =MySum(10, 20),結果為 30!
5️⃣ 判斷數值是否超過 100
=LAMBDA(x, IF(x>100, "超過", "未超過"))(120)
? 結果:"超過"
6️⃣ 找出每行的最大值並標示
=BYROW(A1:D5, LAMBDA(row, TEXTJOIN(",", TRUE, IF(row=MAX(row), "★"&row, row))))
? 作用:在最大值前面加上 ★,例如 12, 23, ★45, 67。
? LAMBDA vs VBA
| 特色 | LAMBDA | VBA |
|---|---|---|
| 是否需要程式碼 | ❌ 不需要 | ✅ 需要 |
| 存取權限 | ✅ 任何人可用 | ⚠️ 需要啟用宏 |
| 跨平台支援 | ✅ 可在 Excel 365 網頁版/桌面版使用 | ❌ 只能在桌面版 |
? LAMBDA 適合不會 VBA 的使用者,可簡單建立 Excel 自訂函數!
? 總結
✅ LAMBDA 允許你建立 Excel 自訂函數,並與 BYROW、BYCOL、SCAN 等函數結合。
✅ 可以直接在 Excel 命名函數管理員中保存,提高重複使用性。
✅ 不需要 VBA 或巨集,適合一般 Excel 使用者!