Excel TRIMRANGE関数とトリム参照によるセル範囲の自動調整(余白削除)とExcelの高速化

2025年10月23日

はじめに:データ参照における計算負荷の課題

事務・経理業務でExcelを使用する際、将来のデータ追加に備えて参照範囲を列全体(例:A:A)のように広く指定するケースは少なくありません。

この対応は一見合理的に見えますが、実際にはデータが存在しない約104万行すべてに対して計算が実行され、Excelの動作速度が大きく低下します。

さらに、空白セルに対する計算結果として「0」が表示され、数式の障害となることや、データの可読性を損なう問題も発生します。

本記事では、この計算負荷を解消するために2025年10月頃に一般公開されたTRIMRANGE関数とトリム参照(Trim References)について、実務での活用方法を解説します。

これらの機能により、手動での範囲修正作業が不要になり、データ処理の正確性と処理速度が向上します。

概要解説動画

TRIMRANGE関数とトリム参照の機能概要

TRIMRANGE関数の仕様

TRIMRANGE関数は、指定したセル範囲の端にある空の行や列を自動で除外し、データが存在する部分のみの参照を返す関数です。

検索/行列カテゴリに分類され、構文は以下の通りです。

=TRIMRANGE(Range, [Row_trim_mode], [Col_trim_mode])

各引数の仕様は以下の通りです。

Range(必須) トリム処理を行う対象のセル範囲を指定します。セル範囲、列全体(A:A)、行全体(1:1)などを指定します。

Row_trim_mode とCol_trim_mode(省略可能) 行と列方向の動作を数値で指定します。

  • 0:トリミングなし
  • 1:先頭の空白セルをトリミングします
  • 2:末尾の空白セルをトリミングします
  • 3または省略:両端の空白セルをトリミングします

Row_trim_mode とCol_trim_modeの引数により、行と列それぞれのトリム方向を個別に制御できます。

トリム参照の記法

トリム参照は、TRIMRANGE関数の簡易記法として導入された構文です。

範囲演算子「:」の前後または両方にピリオド「.」を付けることで、トリムする方向を指定します。

A1:.E10  (開始側をトリム)
A1.:E10  (終了側をトリム)
A1.:.E10 (両側をトリム)

使い分け

TRIMRANGE関数は引数によって行と列のトリム方向を個別に設定できる点が特徴です。

一方、トリム参照は行と列のトリム方法を同じにしか指定できない制限がありますが、記述が簡潔です。

推奨する使い分けの基準

基本的にはTRIMRANGE関数での統一を推奨します。理由は以下の通りです。

  • 行と列のトリム方向を個別に指定できる柔軟性がある
  • 関数名により数式の意図(範囲をトリムすること)が明確
  • 関数名で検索可能であり、学習リソースへのアクセスが容易
  • チーム内での知識共有や数式の保守性が高い

トリム参照は記法が初見では理解しにくく、数式の意図を読み取りにくくするため、基本的には非推奨です。

ただし、TRIMRANGE関数を多用して数式が極端に長くなる場合(例:数式が画面幅を大きく超える、ネストが深くなる)など、簡潔性を最優先する特定のケースでは検討の余地があります。

組織で利用する場合は、どちらかに統一することで、数式の可読性と保守性を維持できます。

導入のメリット

不要な計算の排除による計算パフォーマンスの改善

列全体を参照する数式をトリム参照やTRIMRANGE関数に置き換えると、データが存在しない空白行への演算が実行されなくなります。この変更により、計算処理の対象が削減され、Excelの応答速度が大幅に改善されます。

特にVLOOKUP関数XLOOKUP関数のような検索関数では効果が大きくなります。

保守性の向上

関数のセル範囲やデータ入力規則のリスト範囲にトリム参照を適用すると、データの追加時に範囲を手動で修正する必要がなくなります。VSTACK関数で複数の表を結合する際も、トリム参照やTRIMRANGE関数と組み合わせることで、空白行によるゼロ表示を自動的に除外できます。

TRIMRANGE関数で結合する数式例:

=VSTACK(TRIMRANGE('4月'!A.:.C),TRIMRANGE('5月'!A.:.C),TRIMRANGE('6月'!A.:.C))

トリム参照で結合する数式例:

TRIMRANGEが複数、登場する数式はトリム参照の方が読みやすいことが多いです。

=VSTACK(DROP('4月'!A.:.C,1),DROP('5月'!A.:.C,1),DROP('6月'!A.:.C,1))

DROP関数を利用してヘッダー行を削除することも有効です。

ヘッダーを削除して結合する数式例:

=VSTACK(DROP('4月'!A.:.C,1),DROP('5月'!A.:.C,1),DROP('6月'!A.:.C,1))

TRIMRANGE関数の登場以前は、値が存在する行のみを抽出する処理を実現するために、LET関数LAMBDA関数FILTER関数などを組み合わせた複雑な数式が必要でした。

この手法に関心がある場合は、Excel 値の存在する行のみ抽出する数式を参照してください。

応用テクニック

最新データ行の自動取得

トリム参照とTAKE関数を組み合わせると、データが入力された最下行を自動で抽出できます。

=TAKE(TRIMRANGE(A:C),-1)

この数式により、手動でのスクロールや範囲確認が不要になります。

データ内部の空白セル処理

TRIMRANGEで範囲を絞り込んだ後も、データリスト内部の空白セルは0として表示されます。この問題は、IF関数MAP関数LAMBDA関数を組み合わせることで、ゼロ値の代わりに空白文字列("")を表示するよう制御できます。

=MAP(B2.:.F6,LAMBDA(a,IF(a="","",a)))
=MAP(TRIMRANGE(B2:F6),LAMBDA(a,IF(a="","",a)))

制約

動作環境

TRIMRANGE関数とトリム参照は、2025年10月頃にMicrosoft 365の一般ユーザー向けに公開されました。Excel for Microsoft 365の最新版で利用可能ですが、組織のPC環境では更新プログラムの適用状況により使用できない場合があります。導入前に環境を確認してください。

「ファイル」、「アカウント」から更新プログラムを確認可能です。

既存機能との互換性制限

トリム参照の新記法は、INDIRECT関数など参照を文字列で指定する機能との組み合わせに制限があります。このようなケースでは、TRIMRANGE関数の使用を検討してください。

機能の限界

トリム参照は範囲の端にある空白行・列を除外する機能であり、データリストの途中に存在する空白セルはそのまま残る点に注意が必要です。

データ参照における効率化の実現

TRIMRANGE関数とトリム参照は、データ集計・分析業務において手作業による範囲管理を不要にし、不要な計算を排除することで、数式の可読性と保守性を高めます。これらの機能の活用により、業務の効率化とデータ処理の信頼性向上が期待できます。