【Excel】ラムダ関数でオリジナル関数を作成する方法

ラムダ関数とは、関数を簡潔に記述するための構文です。無名関数(匿名関数)とも呼ばれます。

 

Microsoft Excel 365 からラムダ関数が利用できるようになりました。

現状、使えるバージョンは以下の通りです。

  • Excel for Microsoft 365
  • Excel for Microsoft 365 for Mac
  • Excel for the web

 

ラムダ関数を使う上での注意

ラムダ関数を利用してオリジナル関数を作る事で計算式の記入を簡素化することが出来ます。

但し、会社など複数のユーザーが利用するExcelで使用すると分かっていない方が真似してオリジナル関数を別のブックで利用して関数が使えないとかクレームが来たりしますので対応したくないらなら使わない方がいいです。

又、使えるExcelのバージョンが限られる為、いくつかのバージョンが混在している環境ではトラブルの元になりますので注意が必要です。

 

ラムダ関数の利点

ラムダ関数は VBA やマクロが必要ないため、プログラマー以外でも使用できます。

よく使用される数式を関数にして作成しておく事で数式をコピーして貼り付ける必要をなくしメンテナンス性を向上する事が出来ます。

 

 

 

ラムダ関数の使い方

ラムダ関数の引数は以下の通りです。

 

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

 

パラメータについては最大253個まで指定することが出来ます。 又、引数は省略可能です。

計算式は関数の結果として実行し返す数式です。結果は必ず返す必要があります。

 

仮に税込み金額を求める数式をラムダ関数で関数にしてみます。

計算式は 価格 * 税率 + 価格 で税込み金額が求められます。

サンプル LAMBDA関数

ラムダ関数で記入する場合、

=LAMBDA(price, taxrate, price * taxrate + price)

との様に記入します。

数式を展開すると下記の通りです。

excel LAMBDA関数

価格(C3) をパラメータ priceへ代入

税率(D3)をパラメータ taxrateへ代入

計算式として 価格 * 税率 + 価格で計算を行う

 

 

 

関数として登録する

このままではただの数式と変わらない為、関数として登録する必要があります。

登録する方法は引数を除いた式(ここでは=LAMBDA(price, taxrate, price * taxrate + price)になる)をコピーしておきます。

続けてメニュータブから数式 -> 名前の定義を選択します。

名前にはこの式の関数名を指定します。 ここではintaxとして登録します。

コメントでは式を入力するときに出てくる説明文です。 簡潔に書いておく事をお勧めします。

最後に参照範囲にコピーした式を貼り付けOKで登録完了です。

LAMBDA関数の登録

 

登録されてるラムダ関数の確認方法

登録されているラムダ関数の確認方法が下記の通りです。

メニュータブから 数式 -> 名前の管理を選択することで確認できます。

又この画面から関数の削除及び編集が行えます。

LAMBDA関数の確認方法