LAMBDA関数を使いこなそう!複雑な数式を自作関数にしてしまう方法とは?
エクセルの計算式において、変数が使える新しい関数が登場しました。その関数は、『LAMBDA(ラムダ)』です。
この記事では、LAMBDA関数の基本的な使い方、便利な使い方をそれぞれ紹介します。数式をカスタマイズして、より業務円滑化を目指しましょう。
この記事の目次
LAMBDA関数で代数を扱う
2022年2月、Microsoft Excel 365版で使用できる新しい関数『LAMBDA』が提供開始となりました。
LAMBDAは、変数(パラメーター)と計算方法を指定しておき、変数に数値を与えることで計算を実行できる関数です。
「x+3」と表記されているとき、xは変数、3は定数と言います。
変数は、例えばx=5のときはx+3=8、x=100のときはx+3=103、というように、その部分に何らかの数字が入ることを指しています。
上の表を見てください。
「x+y」の計算をしたい場合は、セルの番号を指定して『+』の記号でつなぐか、SUM関数で2つのセルを指定する方法が一般的です。
これを変数的に処理しようとすると、下側の関数式(②)になります。
まず、1つ目のカッコ内で「x」「y」の2つの変数があると定義した後、この変数をどのように計算するかを指定します。
さらに2つ目のカッコ内で、x、yに該当する変数にどのセルの値を代入すればいいかをそれぞれ指定します。
例示した式を数学風に書くなら、「x=100、y=200のとき、x+yの値は?」という計算を行っているのと同様の計算式です。
扱える代数の数は自由
上記例では変数が2つでしたが、3つ以上の変数も指定可能です。
その場合、下記のように表記します。
=LAMBDA(1つ目の変数記号、2つ目の変数記号、3つ目の変数記号、……、変数を使った計算式)(1つ目の変数に代入する数字、2つ目の変数に代入する数字、3つ目の変数に代入する数字、……)
ただし、使い方自体は同じですが、変数記号が重複するとエラーを起こすので注意してください。
LAMBDA関数単体では効果を発揮しない
実際の計算に使いたいと思っても、単純に数式を書くだけの場合を考えると、LAMBDA関数は記述が増えるだけで、あまりメリットがないように感じるかもしれません。
実はその通りで、LAMBDA関数は、それ単体では大きな効果が得られません。本領を発揮するのは、『名前の定義』によって関数を自作できるという点です。
『名前の定義』から自作関数化
この表は、英語・数学の成績をそれぞれ記録しており、それぞれの成績をもとにA・B・Cの3タイプに分類しようとしています。
この場合、『評価』の1行目にあるような、if関数を重ねた数式で表記が可能です。
これをLAMBDA関数で表記すると、下図の2行目のようになります。
英語の点数をx、数学の点数をyとおいて、変数で同じif関数の式を処理するよう、指示を出しています。
ここで、『名前の定義』を使います。
数式タブの中にある『名前の定義』をクリックすると、『新しい名前』というウインドウがポップアップします。
この『名前』の部分に新しい関数の名前を、『参照範囲』の部分にLAMBDA関数の前半部分(1つめのカッコまで)を入力し、『OK』をクリックします。
すると、LAMBDA関数の部分が名前として定義されているため、あとはこの名前の後ろに2個目のカッコ、つまり変数指定部を足すことで、計算が可能になるのです。
上の図では、『成績』の部分に、『LAMBDA(x, y, if(~)』が格納されていることになります。
数式の記述エラーを起こしにくくなる
上の例のように、数式が複雑になっていることは少なくありません。
同じエクセルファイル内で、同じ形式の数式を何度も使う場合、あらかじめLAMBDA関数と『名前の定義』を組み合わせた自作関数を用意しておくといいでしょう。
これにより、記述の手間が省け、誤記によるエラーが起こりにくくなります。
コピー&ペーストで関数が壊れない
繰り返し使われている関数は、よくコピー&ペーストでほかの場所に移されていたりします。この際に、絶対参照と相対参照が混じりあってしまい、正しい数値が表示されていないというトラブルがよく起こります。
このLAMBDA関数と『名前の定義』を組み合わせた方法であれば、関数の大元自体は変わらず、変数値だけを指定する方法なので、間違いが少なく、確認もしやすいです。
関数表記が見やすい
上述の例のように、煩雑な計算をさせようとすると数式が長くなりがちです。
LAMBDA関数を『名前の定義』でまとめれば、名前と変数指示だけの非常にシンプルな見た目に整理されます。
「一目見ただけではどんな計算がされているのか分かりにくい」メリットもありますが、長い計算式が埋め込まれているよりいいという考え方もできます。
LAMBDA関数で業務を簡単・円滑に
LAMBDA関数は、変数をエクセル上で扱える関数です。
現在(2022年7月)はMicrosoft Excel 365版でしか使用できないようですが、今後使えるバージョンが増える可能性もあります。
煩雑な計算式を何度も使っているようなエクセルシートであれば、LAMBDA関数と『名前の定義』の組み合わせは非常に業務円滑化効果の高い手法です。
ぜひ取り入れて、表計算・集計を快適にしてください。