[Excel365]Lambda関数【わからんポイント解消編】

記事
学び
こんにちは。かづきです。

2022年2月から、Microsoft365等のバージョンを対象に一般公開された「Lambda(ラムダ)関数」、今までの関数とは式の構造がちょっと違っていて、分かりづらいかなーと思いましたので、もっと皆が気軽に使えるよう、私なりに解説してみたいと思います。

※具体的な式の書き方については、次回以降予定です。
 (もし、期待されていた方がいらっしゃれば申し訳ない。
  一気に書くと長くなりそうでしたので・・・)

■わからんポイント1:Microsoft公式説明がもうよくわからん

Microsoft公式の説明見て「どういう事?」となった人もいるでしょう。
(※この項目は重要な解説は書いていないので読み飛ばしてOKです。)
LAMBDA 関数を使用して、カスタムの再利用可能な関数を作成し、それらを表示名で呼び出します。 この新しい関数はブック全体で使用できます。ネイティブ関数や Excel呼び出されます。

※Microsoft公式「Lambda関数」紹介ページより。
↑これはともかく、(名前を付けて「関数」に出来る)
よく使用される数式の関数を作成し、この数式をコピーして貼り付ける必要がなく (エラーが発生しやすい)、ネイティブの Excel 関数ライブラリに独自の関数を効果的に追加できます。 さらに、LAMBDA 関数では VBA、マクロ、JavaScript は必要ないので、プログラマ以外のユーザーもその使用のメリットを得る可能性があります。

※Microsoft公式「Lambda関数」紹介ページより。
↑要は、1つ前の記事で書いたようなメリットがあるという事です。
(複雑な数式を使いまわさずに、シンプルな「関数」として気軽に使える)
 この機能は現在 Office Insider のみが利用できます。

※Microsoft公式「Lambda関数」紹介ページより。
↑情報が古いです。(2022/3/12現在)
バージョンをちゃんと上げていれば一般のMicrosoft365、iphone版などですでに使えます。無料Web版はアカウントや利用環境によって使える人がいたりいなかったりして、正直よくわからない状況になっています(困る)

※ちなみに、無料Web版がメイン環境で使えなかったので問い合わせたのですが、「Office Insider のみが利用できます」と返答されてしまいました。
「公式をもとに返答している」とも言われたので、まぁ仕方ないですよね。

■わからんポイント2:関数式に()カッコが2セット分?

=LAMBDA 関数 ([parameter1, parameter2, ...],calculation) (関数呼び出し)
次の例では、値 2 を返します。
=LAMBDA(number, number + 1)(1)

※Microsoft公式「Lambda関数」紹介ページより。
今までの式は、『関数名(条件式など)』という様に、()カッコは1セットでしたよね。例えばIF関数なら『=IF(C2=”Yes”,1,2) 』こんな感じですよね。

ですが、↑公式でのLambda関数の使用例ではカッコが2セットあります。
左側『=LAMBDA(number, number + 1)』と、右側『(1)』という様に。
これは、Lambdaが「新たな関数を作れる」からです。
左側が「作る関数の挙動」右側が「その関数に入れる内容」となります。

料理で例えると「調理器具を作れる機械」があったとして、それがLambda。
それで「ミキサー」を作ったとして、それが左側の部分。
そこに入れる「食材」が右側の部分という感じです。(伝わりますかね?)

そんなわけで、Lambda関数で作った式を関数として使う場合は、「名前の定義」に”左側の部分”だけを登録すればOKです。

Microsoft公式のLambda関数説明ページに書かれている、2セット()カッコの式はセル内で記述する場合となります。
作った数式の挙動確認したい時などには、調整するたびに名前定義の更新していたら手間ですからね。『Lambda(ミキサー)(食材)』の書き方でセルに入力して「ミキサー」の挙動を確認できます。

具体的な式の書き方については、次の項目でをご確認ください。

■わからんポイント3:パラメーターって何を書けばいいの?

=LAMBDA 関数 ([parameter1, parameter2, ...],calculation) (関数呼び出し)
次の例では、値 2 を返します。
=LAMBDA(number, number + 1)(1)

※Microsoft公式「Lambda関数」紹介ページより。
上記の例として出ている式『=LAMBDA(number, number + 1)(1)』でいえば、「number」がパラメーターですね。
ここは作った関数の「引数名」となる部分です。
引数.png
更に「引数(ひきすう)名」は、関数を数式バーに直接入力する際、こんな風に表示される文字でもあります。

自分だけが使う関数&自分が忘れないのであれば、パラメーターは「a」とかでもいいですが、日本語でも大丈夫なので、後から見ても分かりやすい引数名を付けておきましょう。

引数が2つ以上の場合は、必要なだけ「,(カンマ)」で区切って設定する必要があります。

パラメーター等に付いては、後日、実際の式の書き方を別記事として書く予定ですので、そちらで掘り下げたいと思います。
これに関しては、それこそ”実際の式を見ながらの方が早い”と思いますので。
とりあえず「自由な文字を書いていい場所」だという事だけ把握してもらえればOKです。

■あとがき

書きながら思ってましたが、やはり実際の式の書き方の説明もないと、わかりづらいですよね・・・。記事にするって難しい・・・

もし今回書いた内容以外にも、Lambda関数について「わからんポイント」箇所になりがちな箇所に気づいた場合(もしくはリクエストがあった場合)、追記するかもしれません。

家電などでも取扱説明書を読むより、すでに使っている人から使い方を聞いた方が把握しやすいという事もありますからね。
少しでも、この関数に触れるハードルを下げられたらいいなと思います。

次回は、本命「Lambda式の書き方【実践編】」予定です!
公開まで、今しばらくお待ちくださいませ。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す