TRIMRANGE 関数は、範囲の外側にある空白の行や列を取り除く関数です。データが増えることを考えて A1:B20 のように広めに範囲をとると、下の空白まで計算に入ってしまいますが、=TRIMRANGE(A1:B20) と書くと、データのある所までに自動で縮みます。
同じことは、範囲の : の横に .(ドット)を付けた 「トリム参照」でもできます。B2:.B20 や A:.A のような書き方です。この記事では、2 つの書き方の違いと使いどころを、実際の Excel で確かめた結果で説明します。どちらも Microsoft 365 の新しい機能です。
TRIMRANGE 関数と「.」の参照の書き方
=TRIMRANGE(範囲, [行の削除], [列の削除])
範囲の書き方: B2:.B20(後ろの空白を除く) B2.:B20(前の空白を除く) B2.:.B20(両方)
| 引数 | 意味 |
|---|---|
| 範囲 | 空白を取り除きたい範囲 |
| 行の削除(省略可) | 0=除かない、1=前の空白、2=後ろの空白、3=両方(省略は 3) |
| 列の削除(省略可) | 行と同じ(0〜3) |
:.(ドット付きの参照) | : の後ろに . で後ろの空白を除く(TRIMRANGE の 2 と同じ) |
よく使うのは、後ろ(下)の空白を除く B2:.B20 の形です。列全体なら A:.A と書けます。
1. 広めの範囲を、データのある所まで縮める(TRIMRANGE)
表は 6 行目までですが、20 行目まで広めに範囲をとっています。TRIMRANGE で包むと、空白の行が除かれます。
=TRIMRANGE(A1:B20)

結果は見出しを含めて 6 行(名前〜伊藤)で、7 行目から 20 行目の空白は出ませんでした。
2. スピルで 0 の行を出さない(B2:.B20)
点数を 1.1 倍した一覧を、スピルで作ります。ふつうに =B2:B20*1.1 と書くと、空白の行も 0 として 19 行ぶん並びます。: の後ろに . を付けると、データのある 5 行だけになります。
=B2:.B20*1.1

結果は 88・71.5・99・79.2・63.8 の 5 行でした。表の下に 7 行目を足すと、結果も自動で 6 行に広がります。
3. 列全体を軽く参照する(A:.A)
A:A(列全体)は 104 万行あるので、スピルや配列の計算に使うと重くなります。A:.A と書けば、データのある所までで止まります。
=ROWS(A:.A)

ROWS(A:.A) は 6 でした。列全体を指定しても、データのある 6 行目までとして扱われます。
【実機で検証】TRIMRANGE でつまずくところ

| ためしたこと | 式 | 結果 |
|---|---|---|
| ふつうの範囲の行数 | =ROWS(TRIMRANGE!B2:B20*1.1) | 19 |
| ドット付き(B2:.B20)の行数 | =ROWS(TRIMRANGE!B2:.B20*1.1) | 5 |
| 列全体(A:A)の行数 | =ROWS(TRIMRANGE!A:A) | 1,048,576 |
| 途中に空白がある A12:A20 の TRIMRANGE の行数 | =ROWS(TRIMRANGE(A12:A20)) | 4 |
| 前の空白も除く(A11.:.A20)の先頭の値 | =INDEX(A11.:.A20,1) | 1 |
| ドット付きの範囲を SUM | =SUM(TRIMRANGE!B2:.B20) | 365 |
ふつうの B2:B20*1.1 は 19 行、ドット付きの B2:.B20*1.1 は 5 行でした。列全体の A:A は 1,048,576 行です。
途中の空白は残ります。12〜15 行目に「1・2・(空白)・4」がある範囲を TRIMRANGE で包むと、行数は 4 で、後ろの空白だけが除かれました。途中の空白も除きたいときは FILTER 関数を使います。
.:. のように前後にドットを付けると、前の空白も除かれ、先頭の値は 1 になりました。ドット付きの範囲は SUM などふつうの関数にもそのまま使え、合計は 365 です。
よくある質問
「.」を付けるとエラーになる・使えないときは?
TRIMRANGE とドット付きの参照は Microsoft 365 の新しい機能です。Excel 2021 以前では使えないので、テーブル(Ctrl+T)にして構造化参照を使うと、データが増えても範囲が広がります。
テーブルとどちらがよい?
表をテーブルにできるならテーブルが分かりやすく確実です。見た目を変えたくない・テーブルにできない表で、範囲だけ伸び縮みさせたいときにドット付きの参照が便利です。
SUM(B:B) にもドットは必要?
SUM や COUNTA は空白を無視するので、SUM(B:B) でも結果は同じです。ドットが効くのは、スピルで一覧を作るときや、配列の計算で空白の行まで計算してしまうときです。

コメント