エクセルの LAMBDA関数を使うと、自分だけの関数を作れます。たとえば「税込」という名前で =LAMBDA(価格,ROUND(価格*1.1,0)) を登録すると、シートで =税込(A2) と書くだけで、1980 円の税込み価格 2178 が出せます。
よく使う長い式を短い名前で使い回せるので、式の間違いが減り、あとから計算を直すのも1か所で済みます。この記事では、LAMBDA関数の書き方、その場で試す方法、名前を付けて関数にする手順、MAP関数との組み合わせ、エラーになるときの原因までを、実際に Excel で計算した表で説明します。名前の登録はブックに保存する設定なので、この記事では練習ツールの代わりに Excel の結果の表を載せています。
LAMBDA関数の書き方
=LAMBDA(引数1,[引数2],…,計算式)
| 部分 | 入れるもの | ポイント |
|---|---|---|
| 引数 | 関数に渡す値の名前(「価格」「x」など) | 日本語の名前も使えます。いくつでも並べられます。 |
| 計算式 | 引数を使った計算 | いちばん最後に書きます。 |
Microsoft 365 などの新しい Excel で使えます。
LAMBDA関数の使い方|やりたいこと別の式

| やりたいこと | 式 | 結果 |
|---|---|---|
| その場で呼び出す | =LAMBDA(x,x*1.1)(100) | 110 |
| 引数を2つにする | =LAMBDA(x,y,x*y)(3,4) | 12 |
| 名前を付けた関数 | =税込(A2) | 2178 |
| 範囲にまとめて使う | =SUM(MAP(A2:A4,LAMBDA(x,ROUND(x*1.1,0)))) | 4048 |
| 呼び出していない | =LAMBDA(x,x*2) | #CALC! |
| 引数が足りない | =LAMBDA(x,y,x*y)(3) | #VALUE! |
その場で試す(すぐ後ろに値を渡す)
=LAMBDA(x,x*1.1)(100)
LAMBDA関数のすぐ後ろに「(100)」と値を書くと、その値で計算します。x に 100 が入り、100×1.1 で 110 です。引数を2つにするなら =LAMBDA(x,y,x*y)(3,4) で 3×4 の 12 です。名前を付ける前に、式が正しく動くかをこの形で確かめます。
名前を付けて自分の関数にする
- 「数式」タブの「名前の定義」をクリックします。
- 「名前」に「税込」と入力します。
- 「参照範囲」に「=LAMBDA(価格,ROUND(価格*1.1,0))」と入力して「OK」を押します。
=税込(A2)
これで、ブックのどのシートでも「税込」が関数として使えます。A2 の 1980 を入れると、1980×1.1 を四捨五入して 2178 です。税率が変わったときは、名前の定義の 1.1 を直すだけで、使っているセルがすべて新しい計算になります(名前の定義の使い方・消費税を計算する方法)。
範囲にまとめて使う(MAP関数)
=SUM(MAP(A2:A4,LAMBDA(x,ROUND(x*1.1,0))))
MAP関数は、範囲の1つずつの値に LAMBDA関数の計算をします。1980・500・1200 をそれぞれ税込みにして(2178・550・1320)合計すると 4048 です。四捨五入を1つずつしてから合計したいときに便利です。
LAMBDA関数がエラーになるときの確認表
| 症状 | 考えられる原因 | 対処 |
|---|---|---|
| 「#CALC!」になる | LAMBDA関数を書いただけで、値を渡して呼び出していない | 後ろに (値) を付けるか、名前を付けて使う。 |
| 「#VALUE!」になる | 渡した値の数が引数の数と合わない | 引数の数だけ値を渡す。 |
| 「#NAME?」になる | 名前のつづりが違う、または LAMBDA関数が使えない Excel | 名前の定義を確かめる。Microsoft 365 などで使う。 |
| ほかのブックで使えない | 名前はブックごとに保存される | 使いたいブックにも同じ名前を定義する。 |
LAMBDA関数のよくある質問
LET関数との違いは?
LET関数は1つの式の中で計算結果に名前を付けるもの、LAMBDA関数は値を受け取る「関数」を作るものです。何度も同じ計算をいろいろなセルで使うなら LAMBDA関数が向いています(LET関数の使い方)。
あわせて読みたい:関連記事
表を1行ずつ・1列ずつ計算したいときは、BYROW・BYCOL関数の使い方もあわせてご覧ください。
累計や残高を1つの式で出すなら、SCAN関数の使い方もあわせてご覧ください。
表をまとめて作るならMAKEARRAY関数の使い方もあわせてご覧ください。

コメント