Excel 任意のカスタム関数を作成 (LAMBDA関数)

LAMBDA(ラムダ)関数は2022年2月に

Microsoft365(Office365)のExcelに追加された新機能で、

ユーザが関数を作成するための関数で、

マクロ・VBAを使わずにカスタム関数を作成する機能です。

同じ数式を多くのセルに記述する場合に有効です。

仕様

=LAMBDA(引数名1, ~ 引数名253,数式)(引数1~引数253)

赤字の部分は利用方法によっては記述しません。

引数省略時の値説明
引数名1~253引数なし引数名を指定します。
引数なしで数式のみ指定も可能ですが、
LAMBDA関数なしで名前の管理で使用した方が簡潔です。
数式省略不可数式か値を設定します。
定義した引数を使用可能です。
引数1~253引数なしセル内でLAMBDA関数を記述する場合は
引数として使用する値かセルを指定します。

名前の管理でLAMBDA関数を記述する場合は記述しません。
引数の詳細

使い方

基本的な利用方法

セル内に記述してテスト(検証)

セル内で記述する使い方はLET関数の方が優れているため基本的にはテスト用です。

この方法で正常に動くことを確認後に、

名前の管理(後述)でブック全体で利用できる関数に登録します。

例として消費税額を計算する関数を作成します。

=LAMBDA(価格,消費税率,価格*消費税率)(1000,10%)

赤の部分が引数の定義、青の部分が数式、緑の部分が実際に与える引数です。

引数の部分はセル指定も可能です。

セル範囲を指定して集計関数を利用することも可能です。

名前の管理に登録してブック全体で利用可能にする

数式より名前の管理をクリックします。

新規作成をクリックします。

カスタム関数の内容を登録します。

項目説明
名前カスタム関数名を指定します。
範囲ブック全体で利用可能にするか、
特定のシートのみの使用可能とするかを選択します。
コメント任意の説明文を指定します。
コメントはこのように表示されます。
参照範囲LAMBDA関数の数式(最後の引数指定はなし)を指定します。

OKをクリックするとカスタム関数が利用可能になります。

有効な場面(メリット)

これにより何度も数式を名前の管理のみで記述することが可能になり

変更の手間と変更漏れのリスクが軽減され、数式が簡素になります。

特に複数シートに同じ数式が点在するような状況で有用です。

他の機能の方が適切な場面

数式が横や縦に並んでいる場合はスピル

名前を付けるだけであればLET関数の方が有効です。

ヘルパー関数を利用

これまでの機能では実現できなかった数式を

LAMBDA関数とヘルパー関数で実現します。

全体的にここまでしなくても中間セルを工夫すれば実現可能なため

共有ブックなどで可能な限り単独のセルで完結させたい場合に使います。

再帰関数

一般的な事務用途では使う用事が殆どありませんが、

再帰関数(自分自身を呼び出す関数)も定義可能です。

例えば指定数から1までの総和を出す場合、

次のようなカスタム関数を用意します。

=LAMBDA(値,IF(値>1,値 + 総和(値-1),1))

LET関数でセル内でのみ利用可能なカスタム関数を作成

頻度は稀ですが、LET関数と併用してセル内でのみ有効なカスタム関数を定義する方法もあります。

例えば1つのセル内に同じ計算式が何度も登場するが値やセル参照が異なる場合、

カスタム関数にすると数式を簡素に出来る場合があります。

(ただし値やセル参照が同じ場合はLAMBDA関数を使わずLET関数で名前だけ付ける方が簡素です)

次の例では消費税込金額の計算をカスタム関数にしています。

(この程度の数式であればE列に税込み金額列を作るか、

 範囲を引数にしてSUM関数を使うか、スピルの方が有効ですがサンプルとして)

Excelを効果的に習得したい方へ

当サイトの情報を電子書籍用に読み易く整理したコンテンツを

買い切り1,250円またはKindle Unlimited (読み放題) で提供中です。

Word-A4サイズ:1,400ページの情報量で

(実際のページ数はデバイスで変わります)

基本的な使い方、関数の解説(140種類)、

頻出テクニックと実用例(109種類)、

XLOOKUP関数、LET関数、シートビュー、LAMBDA関数、スピルなど便利な新機能を紹介。

体系的に学びたい方は是非ご検討ください。

アップデートなどの更新事項があれば随時反映しています。

なお購入後に最新版をダウンロードするには

Amazonへの問い合わせが必要です。

関連記事

関数の仕様と使い方の記事一覧