Excel 独自の関数を作成 (LAMBDA関数)

2023年2月3日

English version.

LAMBDA(ラムダ)関数は2022年2月にMicrosoft365(Office365)のExcelに追加された新機能で、

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

この関数はマクロ・VBAを使わずに独自の関数を作成可能で、

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

仕様

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

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

引数省略時の値説明
引数名1~253引数なし引数名を指定します。
引数なしで数式のみ指定も可能ですが、
その場合は「名前の管理」の方が簡潔です。
数式省略不可数式か値を設定します。
定義した引数を使用可能です。
引数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を効率的に習得したい方へ

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

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

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

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

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

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

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

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

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

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

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

関連記事

活用例

セル範囲内からランダムで指定文字数を抽出する数式

セルのテキストをN文字毎に抽出する数式

セル内のテキストを並び替える数式

セルのテキストから複数種類の文字を削除する数式

SUBSTITUTE関数で複数の文字列を置換する方法

文字列を逆さに並び替える方法

文字列から数字のみを抽出する方法

テキストを1文字ずつセルに分割する数式

値の存在する行のみ抽出する数式

ピボットテーブルで中央値を計算(の代替方法)

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