LAMBDA関数はどのバージョンで使える?
結論
LAMBDA関数はExcel 2024およびMicrosoft 365で使用可能です。
詳しい解説
LAMBDA関数はExcel 2024およびMicrosoft 365で使用可能です。Excel 2016/2019/2021(買い切り版)では使用できません。LAMBDA関数を使うと、VBAなしでカスタム関数(ユーザー定義関数)をブック上に作成できます。名前の管理で名前を付ければ、ネイティブ関数のように使えます。
旧バージョンでの代替方法
名前付き範囲で定数を管理Excel 2016以降
LAMBDA関数が使えない2021以前では、「名前の管理」で定数値(税率など)に名前を付けて再利用できます。ロジックの共有は難しいですが、設定値の一元管理に有効です。
ヘルパー列(作業列)で計算を分解Excel 2016以降
再利用したい計算を別列に数式として記述し、他のセルから参照します。LAMBDAほど柔軟ではありませんが、全バージョンで動作します。
VBAのFunctionプロシージャExcel 2016以降
VBAでFunctionプロシージャを定義すると、ブック内でユーザー定義関数として呼び出せます。LAMBDA関数が使えない環境での代替手段ですが、VBAを有効にする必要があります。
よくあるエラーと対処法
#NAME?原因: Excel 2021以前ではLAMBDA関数が認識されません。数式バーに _xlfn.LAMBDA と表示されることがあります。
対処: Excel 2024またはMicrosoft 365に移行するか、VBAのFunctionプロシージャやヘルパー列で代替してください。
スタックオーバーフロー(再帰LAMBDAの無限ループ)原因: 再帰LAMBDAで終了条件の指定が不正確な場合、再帰呼び出しが無限に続きExcelがクラッシュします。
対処: IF関数などで再帰の終了条件を必ず設定してください。例: =LAMBDA(n, IF(n<=1, 1, n*再帰関数(n-1)))
#VALUE!(引数の型不一致)原因: LAMBDAの引数に想定外の型(文字列に数値演算など)を渡した場合に発生します。
対処: ISNUMBER()やISBLANK()などで入力値の型チェックをLAMBDA内に組み込んでください。
バージョン対応
| Excel 2016 | Excel 2019 | Excel 2021 | Excel 2024 | Microsoft 365 |
|---|---|---|---|---|
| 非対応 | 非対応 | 非対応 | 対応 | 対応 |
実務での使用例
消費税計算の自作関数
名前の管理で「税込」と定義すると、セル上で =税込(B2, 0.1) と呼び出せる。VBAを書かずにブック内で再利用可能なカスタム関数が作れる
=LAMBDA(金額, 税率, 金額*(1+税率))