📊つかえる関数.com

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歴15年・MOS資格保持

バージョン対応

バージョン対応状況
Excel 2016Excel 2019Excel 2021Excel 2024Microsoft 365
非対応非対応非対応対応対応

実務での使用例

消費税計算の自作関数

名前の管理で「税込」と定義すると、セル上で =税込(B2, 0.1) と呼び出せる。VBAを書かずにブック内で再利用可能なカスタム関数が作れる

=LAMBDA(金額, 税率, 金額*(1+税率))