はじめに
こんにちは!ひらちんです。
今回は、EXCELの計算式に最近登場した LAMBDA関数について基本的な使い方を紹介したいと思います!
LAMBDA関数とは
まずは LAMBDA関数とは何かについてです。
マイクロソフトの公式には以下のように説明があります。
LAMBDA 関数を使用して、カスタムで再利用可能な関数を作成し、フレンドリ名で呼び出します。 新しい関数は、ブック全体で使用でき、ネイティブ Excel 関数と同様に呼び出されます。
良く分からないですねw
簡単に言うと、
です。
公式に記載されている構文も載せておきます。
引数の説明はこちらです。
引数名 | 説明 |
---|---|
parameter | セル参照、文字列、数値など、関数に渡す値。 最大 253 個のパラメーターを入力できます。 この引数は省略可能です。 |
計算 | 関数の結果として実行して返す数式。 最後の引数でなければならず、結果を返す必要があります。 この引数は必須です。 |
使い方
説明分と構文だけ見ても分からないと思うので、実際に使い方を見ていきましょう!
ということを考えてみます。
次のような表があった場合、A列、B列、C列の3つの数字を足してD列に合計を表示するということです。
は?と思った方もいると思いますがw
LAMBDA関数は何か複雑なことを計算するためにある関数では無いんですね。
あくまでも、作った関数を使い回せるように登録するためにある関数です。
なので、数式は何でも良いんです。
登録するまでの過程は以下のようになります。
- 数式を作る
- 敢えて LAMBDA関数 で書く
- 登録する
では順番にやっていきましょう!
1.数式を作る
これは簡単ですね。
具体的には、SUM関数でも良いんですが、普通に足しましょう。
D2セルに以下の数式を入れます。
=A2+B2+C2
これだけです。
2.敢えてLAMBD関数で書く
ここからですね。
さっき作った数式を 敢えての LAMBDA関数で書きます。
次のようになります。
=LAMBDA( x, y, z, x+y+z )( A2, B2, C2 )
「は?めんどくさくなっとるやないけ~」と思った人。
正解です。
が、これで良いんですw
どうなっているのかを、最初に示した構文と比較します。
xとyとzは、構文で言うparameter1, parameter2, …,ですね。
x+y+zは計算の部分になります。
つまり、
っていうことになります。
ちなみに、x や yや z の文字列は、なんでもOKです。
日本語もOKなので分かりやすいように付けると尚良いですね。
ただし、最初が数値で始まるものはNGです。これはプログラミングをやってる方には馴染みありますね。EXCEL氏が数値が文字か分かんなくなっちゃうので辞めてあげて下さいm(_ _)m
はい、では本題に戻ります。
最初の()の中身までは構文で分かりましたが、その後にまた()が続いています。
これが、分かりにくいですよね。
これは、これは LAMBDA関数に渡す引数になります。
どういうことかというと、次の図のような形です。
LAMBDA( x, y, z, x+y+z )
の部分をまとめて「数式」だと考えると一般的な数式と同じような見え方になります。
つまり、次のように対応しているというわけです。
分かりましたか??
3.登録する
はい、では大詰めですね。
最後にこの関数を別の場所でも使えるように登録しましょう!
登録するには「数式」タブの中の「名前の定義」を使います。
クリックするとこんなのが出てきます。
この「名前」のところに付けたい名前(自由です)と、「参照範囲」に登録する数式を入力します。
数式は、前に説明した、数式に変換して見た部分を入力します。
名前に「ひらちん」と付けましょう(^o^)
OKを押して決定します。
一旦、D2のセルを消して以下の部分まで数式を入力します。
=ひらちん(
すると、、、
なんと言うことでしょう~数式の候補が現れました~
では、続けて数式を完成させます。
引数はx、y、zの3つです。
それぞれ、A2,B2,C2と設定します。
=ひらちん( A2, B2, C2 )
じゃん。
3つの数字が足し合わさった結果が表示されました!
D3、D4にも数式をコピーします。
完璧です(^o^)
まとめ
LAMBDA関数について基本的な使い方を紹介しました!このように、自分で作った数式を登録出来る関数になります。
ここでは、分かりやすくするために本来 LAMBDA関数なんか使わなくても良い計算で説明しましたが、複雑な数式を組んだ場合などは、いちいち入力したりしなくても良くなるので便利です!
今後は、 LAMBDA関数だからこそ出来るテクニックなどを紹介していきたいと思います!
乞うご期待!
コメント