Offci365のInsiderのExcelに、LAMBDA関数が追加されて1年以上たちました。 なかなか正式な実装がまだですが、使い方を紹介したいと思います。

LAMBDA 関数の使い方 ラムダ関数で自作の関数
LAMBDA 関数は今まで皆さんが使っている内で使う関数とはちょっと違います。
ワークシート上で使わない関数ですから表面上に見えることはありません。
この関数は名前定義の中で使う関数です。
今までも数式に名前を付けて、それをワークシート上で使うというような方法をご紹介したことがあります。
それをさらに進化させてもっと使いやすくしたと言う関数です
あるいはユーザー定義関数をマクロで作って、その名前で計算するというようなこととかなり近いです。
ラムダ関数を使うと、マクロを使わなくても、そのオリジナルの数式を自由に作れます。
そして名前をつけてワークシート上で使うことができるようになります。
(サンプルファイルは、こちらから サンプルデータ)
普段自分が使っている数式特に難しくはないけれどもそういった関数がないからいちいち数式を入れなきゃいけないなんていうことがあるかなと思います今回はその例として華氏を摂氏に変換しなければならないときに使う数式を自分で関数にしてみたいと思います
A 2セルの華氏50°を摂氏に変換しましょう。
B2セルに数式を入力します。
=(5/9)*(A2-32)

LAMBDA 関数を使います。最初に=LAMBDAと数式の前に入力。

LAMBDA 関数の書式
=LAMBDA([parameter1, parameter2, ...,] 計算)
パラメターの名称はなんでもいいので、今回はaとします。このaにはあとで、対象セルを指定します。

=LAMBDA(a,(5/9)*(a-32))として、最後に対象となるセル(A2)とつけます。

=LAMBDA(a,(5/9)*(a-32))(A2)
数式の完成です。これで終わりではありませんよ。

通常の式をLAMBDA関数で書き換えただけですが、これでも機能します。華氏50℃は摂氏10℃と表示されました。
次に数式タブの定義された名前グループの中から、名前の管理ボタンをクリックします。

ラムダ関数が入力されている B2セルを選択した状態で、関数の名前の管理ボタンをクリックしました。
新しい名前ダイアログには、セル情報が入力されていますので、少し書き換えてやります。

名前をコンバートセルシウスとわかるように、ConvCelsiusに、

コメント欄には数式の説明を入力、これは後で自分が困らないために記入します。
参照範囲のところにLAMBDA関数を使った数式を、最後の A2セルの部分を除外して入力します。
=LAMBDA(a,(5/9)*(a-32))


数式をオートフィルでコピーしてください。

LAMBDA関数で作成したConvCelsius関数は、名前を登録したワークシート上で有効です。
