Excelのトリム参照とは、セル範囲を指定する際に、範囲の先頭または末尾にある空白の行や列を自動的に除外する新しい参照方法です。
これは、参照演算子であるコロン(:)の前後にピリオド(.)を追加して記述します。
これにより、データが追加されても参照範囲が自動で調整され、不要な計算を避け、数式をシンプルに保つことができます。
簡単な例を示します。
下図の表データについて、「=A2:.A20」と参照すると、セル範囲 A2~A8の値が参照されて表示されます。

A列にはセル A8までしかデータがなく、セル A20まではまだ入力されていません。
今後、A20までの範囲でデータが追加される可能性があるなら、このように「トリム参照」による数式とすれば、表の末尾にデータが追加されれば、自動的にスピル範囲が広がります。
なお、A列データの途中に空白セルがあるときは、そのセルに対応して「0」が返されます。
また、下図の表データのように、参照範囲の先頭に空白セルがあるとき、「=A2.:A10」と参照すると、先頭に空白セルが除外されてセル範囲 A4~A10の値が参照されて表示されます。

作表した後で、不要になったデータを削除したため、セル範囲の先頭に空白セルができたときでも、それらを除外してスピルされます。
セル範囲の先頭および末尾にある空白セルを自動的に除外するなら「=A2.:.A10」というように「:」の前後に「.」を挿入します。
これらをまとめると、トリム参照の記述方法と意味はつぎのようになります:
- 末尾の空白をトリム: A1:.B10 のように、コロンの後にピリオドを追加します。
- 先頭の空白をトリム: A1.:B10 のように、コロンの前にピリオドを追加します。
- 先頭と末尾の空白をトリム: A1.:.B10 のように、コロンの前後両方にピリオドを追加します。
上記の例は A列のデータについてトリム参照しましたが、行データまたは行列データについても同じく適用されます。
トリム参照のメリットは
- 効率化: データが追加された場合でも、数式を修正する必要がなく、自動的に新しいデータ範囲に適用されます。
- 簡潔性: 後述の TRIMRANGE関数のように複雑な関数を記述する必要がなく、より直感的な記述が可能です。
- エラー回避: 不要な空白セルを含めて計算してしまうエラーを防ぎます。
これを使うときの注意点は
- 機能のバージョン: Microsoft 365の最新バージョンで利用可能な機能です。
- トリムされる範囲: 範囲の「端」にある空白のみがトリムされます。
範囲の「中間」にある空白はトリムされません。
次に、このトリム参照の関数版「TRIMRANGE」についてご紹介します。
TRIMRANGE関数も、範囲または配列の外側の端からすべての空の行または列を除外します。
その構文は
=TRIMRANGE(範囲,[トリム行],[トリム列])
範囲: トリミングする範囲(または配列)
トリム行: トリミングする必要がある行を決定します
0 - なし
1 - 先頭の空白行をトリミングします
2 - 末尾の空白行をトリミングします
3 - 先頭と末尾の両方の空白行をトリミングします (既定値)
トリム列: トリミングする列を決定します
0 - なし
1 - 先頭の空白列をトリミングします
2 - 末尾の空白列をトリミングします
3 - 先頭と末尾の両方の空白列をトリミングします (既定値)
例えば、下図のように I列に空白セルまじりでデータが入力されているとき、「=TRIMRANGE(I:I)」とすれば、先頭と末尾の空白セルは除外してトリム参照します。

これは「=TRIMRANGE(I:I,3)」、「=I.:.I」と同じです。
TRIMRANGE関数でも複数列を対象としてもよく、下図のように空白セルまじりでデータが入力されているとき、「=TRIMRANGE(H:K)」とすれば、周囲の空白セルは除外してトリム参照します。

これも「=TRIMRANGE(H:K,3,3)」、「=H.:.K」と同じです。
結果的に、TRIMRANGE関数の第2、第3引数を除けば、「.:.」などのトリム参照と同じ動作となります。