Microsoftは米国時間2020年3月18日、Excelの新関数「LET()」を公式ブログで発表した。同社によれば可読性とパフォーマンスを高めており、現在Office InsiderのInsiderチャネルで利用可能。2020年後半の正式リリースを目指して開発を進めている。

たとえば未加工の売上データを元に特定ユーザーの空白セルにダッシュ(-)を追加する場合、従来は「=IF(ISBLANK(FILTER(A2:D8,A2:A8="Fred")),"-", FILTER(A2:D8,A2:A8="Fred"))」とFILTER関数を2回使用する必要があった。LET関数を使用すると「=LET(filterCriteria, "Fred", filteredRange, FILTER(A2:D8,A2:A8=filterCriteria), IF(ISBLANK(filteredRange), "-", filteredRange))」と記述できる。

  • 公式ブログの説明で紹介されているLET関数の使用シーン。フィルタリングされていないデータ(左)と範囲を指定したフィルタ後の空白にダッシュを追加(右))

    公式ブログの説明で紹介されているLET関数の使用シーン。フィルタリングされていないデータ(左)と範囲を指定したフィルタ後の空白にダッシュを追加(右))

Microsoftは「Excelが同じ計算を繰り返す必要がなくなるため、(LET関数使用時は)2倍の速さで演算できる」と説明した。LET関数の書式は「LET(名前1, 値1, [名前2…], [値2…], 計算)」。名前と値はペアで用いる必要があり、別の名前を使用する際は新たなペアを作成すればよい。より詳しい説明はヘルプページを参照してほしいが、本稿執筆時点では用意されていなかった。

阿久津良和(Cactus)