Excel LAMBDA関数(ラムダ関数)の使い方と実用例

2022年2月8日にExcelのLAMBDA関数(ラムダ関数)の一般提供が開始されました。

LAMBDA関数を使うことで、Excelブック内で使える独自の関数を作ることができます。

これまでも、独自関数はVBAなどで作成できましたが、LAMBDA関数の実装により、VBAを使用しなくても作成できるようになりました。

この記事ではLAMBDA関数の基本的な使い方と、実用例を紹介します。

Excel新機能 LAMBDA関数の特徴
  • VBAを使わずに、ブック内で使える独自の関数を作れる
  • ペルパー関数を一緒に使うことで、その関数を繰り返し実行できる

参考:Microsoftのサポートページ「LAMBDA関数

目次

LAMBDA関数(ラムダ関数)の基本的な使い方

LAMBDA関数(ラムダ関数)を使う際は、

  1. パラメータ(代入する値の名前)と計算式から構成される関数を作成
  2. その関数を呼び出すための名前(表示名)を設定
  3. 設定した表示名で呼び出す(セル内で使用する)

という流れになります。

書式と引数は以下の通りです。

LAMBDA関数(ラムダ関数)の書式

=LAMBDA([パラメータ1, パラメータ2, …,] 計算)

引数内容
パラメータセル参照、文字列、数値など、関数に渡す値です。
最大 253個の引数を設定できます。省略も可能です。
計算関数の結果として実行して返す計算式。
これは最後の引数で、結果を返す必要があります。 この引数は必須です。

実際に使用する際の流れは以下のとおりです。

Excel LAMBDA関数(ラムダ関数)の使い方
LAMBDA関数の基本的な使い方の流れ

LAMBDA関数(ラムダ関数)の実用例 基本編

続いて、LAMBDA関数を実用例を紹介します。

今回は、日別の「検索回数」と「クリック数」のデータからクリック率(CTR)を計算する時にLAMBDA関数を使って見たいと思います。

LAMBDA関数 実用例 元のデータ

パラメーター名と計算式、引数の設定

最初にLAMBDA関数でクリック率を計算してみます。

LAMBDA関数 クリック率を算出する計算式

=LAMBDA(imp,click,click/imp)(B2,C2)

この式を解説すると、

  • 表示回数(imp)とクリック(click)の2つをパラメータとして設定
  • click / imp でクリック率を算出する計算式を設定
  • LAMBDA関数の後にB2とC2の値を引数(代入する値)に設定

となります。

他のサンプルではパラメータを「a」や「b」などとしていますが、

実際に使用する際は、パラメータ名は分かりやすい名前を設定する

ことをおすすめします。

上記内容をセルに入力すると、クリック率が計算されます。

LAMBDA関数の計算結果が表示される

オリジナル関数としての「名前」の設定方法

続いて、その関数を呼び出すための名前(表示名)の設定方法を紹介します。

まず最初に、Excelのメニューで[数式] > [名前の管理] を選択します。

LAMBDA関数 名前の設定メニュー

表示される設定画面から[新規作成]を選択します。

その後に表示されるフォーム画面にて、名前と関数内容を設定します。
参照範囲にセルではなく、関数を直接記載します。

LAMBDA関数 「名前」の設定例

[OK]を押せば、ここで指定した「CTR」の関数が、設定したExcel上で使用できるようになります。

LAMBDA関数(ラムダ関数)のヘルパー関数の活用方法

続いて、LAMBDA関数のヘルパー関数を活用した、より実践的な利用方法を紹介します。

ヘルパー関数は、LAMBDA関数自体を引数として設定することが出来る関数です。

ものすごく簡単に言うと、行ごとや列ごとなどの単位で、LAMBDA関数をまとめ実行することができます。

なお、Googleスプレッドシートに慣れている人に対しては、

Arrayformula関数とほぼ同じ処理をExcelでも出来るようになった

という説明でお分かりいただけると思います。

定義だけの説明だと、かなり分かりづらいと思いますので、実用例を紹介したいと思います。

先程と同様、日毎の検索回数とクリック数のデータを使います。

ここではMAP関数 を使用して、日毎のクリック率をまとめて表示させる、ということをやってみます。

画像に alt 属性が指定されていません。ファイル名: スクリーンショット-2022-02-16-191312.png
MAP関数の書式

= MAP (配列,LAMBDA関数)

引数内容
配列まとめて処理したい配列。配列は「,」でつないで複数設定可能。
Excelで使用する場合は、セルの範囲を設定することがほとんどです。
計算関数の結果として実行して返す計算式。
これは最後の引数で、結果を返す必要があります。 この引数は必須です。
MAP関数の引数内容

実際の関数の設定内容は、以下の通りとなります。

=MAP(B2:B16,C2:C16,CTR)

1つ目の引数と、2つ目の引数で、CTRを計算したいセル範囲を指定します。

指定するセル範囲に含まれるデータの数は、同数に揃える必要があります。

これを実行すると、

LAMBDA関数- MAP関数を使って一括処理

となります。

配列毎の処理が行えるようになると、

  • 関数設定が1箇所だけなので、データが増えた時の計算のコピペ漏れやミスがなくなる
  • 処理が早くなる

といったメリットがありますので、活用出来る箇所がれば、導入を検討されるのが良いかと思います。

まとめ

最近のExcelは、LAMBDA関数の実装だけでなく、UNIQUE関数、FILTER関数、QUERY関数など、Googleスプレッドシートに追従してきているように感じます。

Excelもスプレッドシートも両方とも便利なので、同じように使えるようになると良いですね。

スプレッドシートに関連する記事もまとめていますので、ぜひ御覧ください。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
目次
閉じる