ニュース
Excelの新関数「LAMBDA」(ラムダ)が一般提供開始 ~Excel数式が本格的なプログラミング言語に
プチ開発環境アドインも「Microsoft Garage」プロジェクトで提供
2022年2月9日 09:08
米Microsoftは2月8日(現地時間)、「Excel」の新しい関数「LAMBDA」(ラムダ)とそのヘルパー関数の一般提供を発表した。「Microsoft 365」の最新チャネルで配信中の「Excel」ビルドで利用できる。
- Windows版:16.0.14729.20260
- Mac版:16.56(Build 21121100)
- iOS版:2.56(Build 21120700)
- Android版:16.0.14729.20176
「LAMBDA」関数を利用すると、「Excel」の関数で新しい関数を作り出すことが可能。ユーザーが独自のカスタム関数を定義し(「LET」関数を組み合わせれば名前も付けられる)、ワークブックで再利用することができるので、冗長な繰り返し表現が排除されて数式の見通しがよくなるほか、無用な入力ミスを防止できる。
また、これまで「Excel」の数式だけは記述できなかった動的なループ処理を記述できるようになるのもメリット。従来の「Excel」で同様のことを実現しようとすると、どうしてもVBA(Visual Basic for Applications)の知識が必要となっていたが、それが不要となる。
さらに、「LAMBDA」関数とそれを引数にとることのできるヘルパー関数を活用すれば、条件に合致するセルだけを集計したり、加工して新しいリストを作り出すことも可能。本格的なプログラミング言語と同等のことが「Excel」の関数・数式だけで実現できてしまう。
- MAP 関数:与えられた配列の各要素に対しラムダ関数の処理を施し、新しい配列を返す
- REDUCE 関数:初期値と配列を与え、配列から一つずつ要素を取り出してラムダ関数の処理を施し、最終的に一つの値にまとめる
- SCAN 関数:初期値と配列を与え、配列から一つずつ要素を取り出してラムダ関数の処理を施し、新しい配列を返す
- MAKEARRAY 関数:ラムダ関数の処理を適用して、指定された行と列の配列を返す
- BYROW 関数:各行にラムダ関数の処理を適用し、その結果の配列を返す
- BYCOL 関数:各列にラムダ関数の処理を適用し、その結果の配列を返す
- ISOMITTED 関数:値があるかどうかをチェックし、TRUEまたはFALSEをす
同社によると、「Office Insider」で実施したテストを通じて、「LAMBDA」関数には以下の改善が施されたとのこと。
- 関数ツールチップ:名前付き「LAMBDA」関数を呼び出す際、自動補完とともに関数のツールチップを表示するように。ネイティブ関数と同じように「LAMBDA」関数を呼び出せる
- 再帰制限の緩和:再帰処理の限界を当初の16倍に引き上げ。大量のデータを処理できるように
- 「LAMBDA」ヘルパー関数の出力:ヘルパー関数がセルの配列ではなく単一セルを返す場合、当初は「#CALC」エラーを返す仕様だったが、セルの値を自動的に返すように
なお、今回のリリースに合わせ、「Microsoft Garage」プロジェクトで「Advanced formula environment」と呼ばれるアドインの提供も開始されている。これは「LET」関数と「LAMBDA」関数を使って独自のカスタム関数を記述・管理するための実験的スペースで、小さな「Excel」関数の統合開発環境(IDE)ともいえるものだ。詳細は後日、レビュー記事でお伝えする。