先の「Excel 数式に名前を付ける」記事の最後で触れたように、今回は「LAMBDA」(ラムダ)関数についてお話します。

LAMBDA関数は、Microsoft 365版Excel・Web版Excelで使え、ユーザー定義関数(カスタム関数)を作ることができます。
つまり、関数を作るための関数というわけです。
そのため、LAMBDA関数単体で使われることはあまりなく、先の「Excel 数式に名前を付ける」記事でご紹介した「名前の定義」に登録して、同じブック内のセルからその名前で呼び出すという使い方になります。

LAMBDA関数の書式は、以下のようになります:
  =LAMBDA([パラメーター1, パラメーター2, ...,] 計算)

ここで、「パラメーター」はセル参照、文字列、数値など、関数に渡す値で、最大 253 個のパラメーターを入力できます。
特に受け渡す値(引数)が不要であるときは省略可能です。
「パラメーター」名は、Excelの名前に関する構文規則に従いますが、ピリオド「.」が使えないことはご注意ください。
「計算」は、関数の結果として実行して返す数式(定数含む)です。
LAMBDA関数の最後の引数である必要があります。

簡単な例として、「Googleスプレッドシート 名前付き関数」記事で試したような「円の面積」を求める関数を作ってみましょう。

例えば、次のようになります:
  =LAMBDA(半径,PI()*半径*半径)

この例では、「半径」が「パラメーター」で、通常の関数で言う引数ということになります。
最後の「PI()*半径*半径」が「計算」で、与えられたパラメーターの値を使って円の面積を求める数式となります。

ただし、これをセルに入力しても「#CALC!」エラーとなります。

単独で使うときは、これに続いて値またはセル参照を与えることができます。
例えば「=LAMBDA(半径,PI()*半径*半径)(2.5)」と入力すれば「19.63495」と返されます。(下図)

 

つまり、半径が 2.5 である円の面積は 19.63495 と求められます。

LAMBDA関数に与えるパラメーター値が複数である場合は、「( )」の中の左から順に充当されます。

さて、このような LAMBDA関数単体で使うことはあまりないと考えられます。

それでは、LAMBDA関数を「名前の定義」に登録して使ってみましょう。

[数式]-[定義された名前]-[名前の定義]をクリックして「新しい名前」ダイアログを出します。
「名前」欄には「円の面積」、「範囲」は「ブック」、「参照範囲」には「=LAMBDA(半径,PI()*半径*半径)」と入力し「OK」します。(下図)

 

そして、あるセルに「=円の面積(2.5)」と入力すると「19.63495」と表示されます。(下図)

 

なお、このように関数名として漢字表記にした場合は、セルに「=円の」と入力しても関数候補を表示してくれません。
代わりに関数名を半角英数字を使用した場合は、関数候補を表示してくれます。
例えば、下図のように「名前」欄に「CIRCLE_AREA」としてみます。

 

そうすると、あるセルに「=ci」と入力するだけで候補として「CIRCLE_AREA」を表示してくれます。(下図)

 

候補を選択し [Tab]キーを押せば「=CIRCLE_AREA(」が入力されます。

なお、上図の「新しい名前」ダイアログでは「参照範囲」も半角英数字としましたが、ここは「=LAMBDA(半径,PI()*半径*半径)」というように漢字混じりで入力しても、関数候補は表示してくれます。

以上、今回は LAMBDA関数の簡単な使い方をご紹介しました。
これの応用として、再帰関数を作ったり、LAMBDA関数のネストや他関数との組み合わせなどもできます。