ニュース

「Excel」に「TRIMRANGE」関数が追加へ ~うまく活用すれば大幅な計算効率向上も

ピリオドを使った簡略記法も併せて導入

同社のアナウンス

 米Microsoftは8月28日(現地時間)、「Microsoft Excel」へ新関数「TRIMRANGE」を追加する方針を明らかにした。参照演算子セットも併せて導入されるという。

 「TRIMRANGE」は、指定された範囲の端にある空白を削除(トリム)する関数だ。動的配列数式(dynamic array formulas)やスピル演算、ラムダ関数のパフォーマンスを最適化する場合などに役立つ。

 たとえば列Aに入力されたテキストの長さを計算する数式「=LEN(A:A)」を考えよう。これをすべての行に対して適用すると、空白行まですべて(100万以上!)計算されてしまうため、非常に効率が悪い。また、意図しない行にまで「0」という結果が延々とセットされてしまう。

 しかし「TRIMRANGE」関数を挟んで「=LEN(TRIMRANGE(A:A))」とし、最後の非空白行で計算を止めてやれば、この2つの問題をシンプルに解決できるわけだ。

指定された範囲の端にある空白を削除(トリム)する「TRIMRANGE」

 「TRIMRANGE」は、1つ目の引数に範囲、2つ目の引数に行のトリム方法、3つ目の引数に列のトリム方法を指定する。トリムの方法は先頭のみ(1)、末尾のみ(2)、もしくはその両方(3)が選べる。

「TRIMRANGE」関数のシグネチャー。引数は3つ(最低でも1つ)指定する

 また、「TRIMRANGE」関数の簡略記法ともいえる新しい記法が併せて追加される。従来からある範囲参照の記法にピリオドでトリムの方向を指定し、「TRIMRANGE」関数を簡潔に表現できる。

  • A1.:.E10:TRIMRANGE(A1:E10,3,3) と同じ
  • A1:.E10:TRIMRANGE(A1:E10,2,2) と同じ
  • A1.:Z10:TRIMRANGE(A1:E10,1,1) と同じ

 たとえば、前述の「=LEN(TRIMRANGE(A:A))」は「=LEN(A:.A)」と記述してもよい。全列参照(A:A)とほぼ同じ書き方だが、ピリオドをいくつか加えるだけで計算効率はずっとよくなる。

「=LEN(TRIMRANGE(A:A))」は「=LEN(A:.A)」と記述してもよい。全列参照にピリオドを加えるだけで驚きのパフォーマンスアップ

 この新しい関数は、「Microsoft 365 Insider」のBetaチャネルで利用可能。以下のバージョン以降で段階的に展開される。

  • Windows:バージョン 2409(Build 18020.2000)

 Betaチャネルでは翻訳に関する新関数「TRANSLATE」「DETECTLANGUAGE」や、「XLOOKUP」「XMATCH」関数の新しい正規表現モードもテストされているので、興味のあるユーザーは試してみてほしい。

 なお、本機能はあくまでもプレビューだ。テスト中に大きな問題があれば製品版に導入されず、撤回される可能性がある。また、機能の追加で不具合が生じないかチェックしながら少しずつロールアウトされるため、アップデートしてもすぐに利用できるようになるわけではない点にも注意したい。