ニュース
「Excel」で好評の名前付き関数、LAMBDA、XLOOKUP……が「Google スプレッドシート」に
複雑な処理の可読性・再利用性が向上
2022年8月25日 08:45
米Googleは8月24日(現地時間)、「Google スプレッドシート」でカスタム関数をサポートすると発表した。「Microsoft Excel」で好評を博している「LAMBDA」(ラムダ)、「XLOOKUP」、「XMATCH」といった関数もサポートされる。
今回導入されたカスタム関数は、既存の「Google スプレッドシート」数式を組み合わせて新しい関数を作る機能だ。名前付き関数(named functions)とも呼ばれている通り、関数には任意の名前を付与することが可能で、複雑な処理をカプセル化して可読性を高めることができる(つまり、読みやすくなる)。
また、再利用性が高まるのもメリット。作成したカスタム関数はシート内およびシート間で使いまわすことができる。カスタム関数のインポート・エクスポートもサポートされており、別のシートで定義された名前付き関数を利用したり、作成したカスタム関数を別のシートで使えるようにすることも可能だ。
この機能は最近強化された数式のインテリジェントな修正機能、シート内の数式や関数のサジェスト機能を基盤としており、もちろんユーザーが定義した名前付き関数もこの恩恵を受けられる。数式の入力中にカスタム関数をサジェストしたり、修正候補にカスタム関数を提示することもできるだろう。
名前付き関数は、シートの[データ]-[名前付き関数]コマンドから追加可能。サイドパネルが開き、[新しい関数を追加]コマンドでカスタム関数を作成できるようになる。作成したばかりのカスタム関数はそのシートでしか利用できないが、サイドパネルの[関数のインポート]コマンドで明示的に関数をインポートすれば、他のシートでも利用できるようになる。
加えて、以下の新しい関数がサポートされる。これらは「Excel」でも新関数「LET」と前後して導入されているもので、チューリング完全なプログラミング言語と同等の処理表現を可能とするものだ。
LAMBDA(ラムダ)
引数をとって計算結果を返す処理を定義。つまり、新しい関数を作り出せる。数式だけでは記述できなかった動的なループ処理を記述できるようになるほか、後述のヘルパー関数と組み合わせて高度な配列操作を行うこともできる。
ラムダヘルパー関数
LAMBDAと組み合わせることで新しい配列の作成、変換、フィルタリングなどを行う。
- MAP関数:与えられた配列の各要素に対しラムダ関数の処理を施し、新しい配列を返す
- REDUCE関数:初期値と配列を与え、配列から一つずつ要素を取り出してラムダ関数の処理を施し、最終的に一つの値にまとめる
- SCAN関数:初期値と配列を与え、配列から一つずつ要素を取り出してラムダ関数の処理を施し、新しい配列を返す
- MAKEARRAY関数:ラムダ関数の処理を適用して、指定された行と列の配列を返す
- BYROW関数:各行にラムダ関数の処理を適用し、その結果の配列を返す
- BYCOL関数:各列にラムダ関数の処理を適用し、その結果の配列を返す
XLOOKUP
テーブルを縦・横方向に検索し、指定したデータにマッチする値を取り出す。一致するものが見つからない場合は、最も近い一致を返す。
XMATCH
配列または範囲内で指定された値に一致する項目の相対位置を返す。クエスチョンマーク「?」やアスタリスク「*」によるワイルドカードマッチにも対応する。
この機能がサポートされる「Google Workspace」プランは、以下の通り。同日より順次展開されるため、実際に利用できるようになるまでには最大15日かかることがある。
- Google Workspace Essentials
- Google Workspace Business Starter
- Google Workspace Business Standard
- Google Workspace Business Plus
- Google Workspace Enterprise Essentials
- Google Workspace Enterprise Standard
- Google Workspace Enterprise Plus
- Google Workspace Education Fundamentals
- Google Workspace Education Plus
また、個人の「Google アカウント」でも利用可能。ただし、Google Workspace Frontline、Nonprofits、および従来の「G Suite」Basic/Businessではサポートされない。