エクセル入門
TRIMRANGE関数(セル範囲をトリム:端の空白セルを除外)

Excelの初心者向け入門解説
公開日:2024-08-30 最終更新日:2026-02-04

TRIMRANGE関数(セル範囲をトリム:端の空白セルを除外)


TRIMRANGE関数は、範囲または配列の外側の端から空の行や空の列を除外します。


列全体や行全体に対する数式では、不必要な(データのない)セルも含めて計算してしまうため、非常に効率が悪く余分な処理時間がかかってしまいます。
TRIMRANGE関数を挟んで必要な範囲・配列だけにすることで、計算効率・パフォーマンスが大幅に向上します。

2024/8頃に「365 Insider」の新関数としてリリースされました。
2024/8に、Microsoft 365の一般ユーザーも利用可能となりました。


TRIMRANGE関数の構文

=TRIMRANGE(範囲 , [トリム行] , [トリム列])

引数 説明
範囲 トリミングする範囲(または配列)
必須
行のトリム 行に対するトリム方法を指定します。
0 : なし
1 : 先頭の空白行をトリムします
2 : 末尾の空白行をトリムします
3 : 先頭と末尾の両方の空白行をトリムします (規定)
省略時は 3です。
列のトリム 列に対するトリム方法を指定します。
0 : なし
1 : 先頭の空白列をトリムします
2 : 末尾の空白列をトリムします
3 : 先頭と末尾の両方の空白列をトリムします (規定)
省略時は 3です。

TRIMRANGE 関数は、範囲または配列の端(行なら上下、列なら左右)からスキャンして、空白でないセルを見つけ、そこまでの空白だけの行または列を除外します。
範囲内のセルが全て空白の場合は、「#REF!」のエラーになります。


Trim References (Trim Refs):TRIMRANGE関数の糖衣構文(簡略記法)

TRIMRANGE関数の糖衣構文(簡略記法)として、
セル範囲の参照演算子 :(コロン)の前後に .(ピリオド)を記述することでトリム方法を指定することができます。

参照演算子 :(コロン)の直前に.(ピリオド)を記述することで、 先頭の空白行と先頭の空白列をトリムします。
参照演算子 :(コロン)の直後に.(ピリオド)を記述することで、 末尾の空白行と末尾の空白列をトリムします。
参照演算子 :(コロン)の直前と直後に.(ピリオド)を記述することで、 先頭と末尾の空白行と先頭と末尾の空白列をトリムします。

A1.:E10 → TRIMRANGE(A1:E10,1,1) と同じ、先頭の空白行と先頭の空白列をトリム
A1:.E10 → TRIMRANGE(A1:E10,2,2) と同じ、末尾の空白行と末尾の空白列をトリム
A1.:.E10 → TRIMRANGE(A1:E10,3,3) と同じ、先頭と末尾の空白行と先頭と末尾の空白列をトリム

行と列のトリム方法は同一の指定しかできません。
(行と列で別々のトリム方法は指定できません)
実務の多くの場面では、末尾だけトリム(:.)、または、先頭と末尾をトリム(.:.)、このどちらかで事足りるものと思われます。

Trim Refsで指定する参照は、文字列アドレスに限られます。
普通の参照演算子 :(コロン)の場合、
=A3:INDIRECT("A10") … ○
このような指定方法が可能ですが、
=A3:.INDIRECT("A10") … ×
Trim Refsでは、この指定はできません。
これらは、TRIMRANGE関数なら問題ありません。
=TRIMRANGE(A3:INDIRECT("A10")) … ○
さらに、
=INDIRECT("A3:.A10") … ×
このような使い方もTrim Refsではできません。


VBAでの使用
Rangeプロパティで使用可能です。

TRIMRANGE関数
TRIMRANGE関数


WorksheetFunctionにTRIMRANGE関数は実装されていません。
TRIMRANGE関数

TRIMRANGE関数の使用例と解説

1列全体をトリム

エクセル Excel 新関数 TRIMRANGE

先頭と末尾の空白行をトリムしています。
以下の3通りの記述は同じ結果になります。
=TRIMRANGE(B:B)
=TRIMRANGE(B:B,3) ← 1列だけなので、列のトリムは省略しています。
=B.:.B
空白セルは「0」として出力されていますが、これは、
=A1
としたときに、A1セルが空白の場合に「0」と表示されるのと同じことです。
セルへの出力結果は「0」と表示されていても、TRIMRANGE関数の結果値そのものは空白セルが返ってきています。

エクセル Excel 新関数 TRIMRANGE

=COUNTA(TRIMRANGE(B:B))
F列では空白セルが「0」と表示されていますが、COUNTA関数の結果には含まれていないことを確認してください。
つまり、TRIMRANGE関数の結果自体は空白セルのままだということを理解してください。


エクセル Excel 新関数 TRIMRANGE

末尾の空白行をトリムしています。
以下の2通りの記述は同じ結果になります。
=TRIMRANGE(B:B,2) ← 1列だけなので、列のトリムは省略しています。
=B:.B


複数列をトリム

エクセル Excel 新関数 TRIMRANGE

先頭と末尾の空白行と先頭と末尾の空白列をトリムしています。
以下の3通りの記述は同じ結果になります。
=TRIMRANGE(A:D)
=TRIMRANGE(A:D,3,3)
=A.:.D


2列の姓と名を結合する

エクセル Excel 新関数 TRIMRANGE

先頭と末尾の空白行と先頭と末尾の空白列をトリムしています。
以下の3通りの記述は同じ結果になります。
=TRIMRANGE(A:A)&" "&TRIMRANGE(B:B)
=A.:.A&" "&B.:.B
=LET(in,A.:.B,CHOOSECOLS(in,1)&" "&CHOOSECOLS(in,2))

TRIMRANGE関数を使わずに、単純にA列とB列を結合すると、
シートの一番下の1,048,576行まで演算が行われてしまいます。

エクセル Excel 新関数 TRIMRANGE

この文字列結合くらいなら大した処理時間はかかりませんが、1,048,576行の計算では、数式によっては多大な時間を要する場合もあります。
TRIMRANGE関数が使える環境であれば、列全体の演算の場合は極力TRIMRANGE関数を使うようにしてください。


範囲内のセルが全て空白の場合は、「#REF!」エラー

TRIMRANGE関数

A1:A10の範囲内が全て空白セルのみなので、TRIMRANGEはエラーになります。
TRIMRANGE関数でも同じエラーになります。
=TRIMRANGE(A1:A10) ← 「#REF!」




同じテーマ「エクセル入門」の記事

LAMBDA以降の新関数の問題と解説(ヘルパー関数編)
LAMBDA以降の新関数の問題と解説(配列操作関数編)
PY関数(Pythonコードをセル内で実行)
GROUPBY関数(縦軸でグループ化して集計)
PIVOTBY関数(縦軸と横軸でグループ化して集計)
イータ縮小ラムダ(eta reduced lambda)
正規表現関数(REGEXTEST,REGEXREPLACE,REGEXEXTRACT)
TRIMRANGE関数(セル範囲をトリム:端の空白セルを除外)
TRANSLATE関数(翻訳) DETECTLANGUAGE関数(言語識別)
IMPORTTEXT関数(テキストファイルのインポート)
IMPORTCSV関数(CSVファイルのインポート)


新着記事NEW ・・・新着記事一覧を見る

AIは便利なはずなのに…「AI疲れ」が次の社会問題になる|生成AI活用研究(2026-02-16)
カンマ区切りデータの行展開|エクセル練習問題(2026-01-28)
開いている「Excel/Word/PowerPoint」ファイルのパスを調べる方法|エクセル雑感(2026-01-27)
IMPORTCSV関数(CSVファイルのインポート)|エクセル入門(2026-01-19)
IMPORTTEXT関数(テキストファイルのインポート)|エクセル入門(2026-01-19)
料金表(マトリックス)から金額で商品を特定する|エクセル練習問題(2026-01-14)
「緩衝材」としてのVBAとRPA|その終焉とAIの台頭|エクセル雑感(2026-01-13)
シンギュラリティ前夜:AIは機械語へ回帰するのか|生成AI活用研究(2026-01-08)
電卓とプログラムと私|エクセル雑感(2025-12-30)
VLOOKUP/XLOOKUPが異常なほど遅くなる危険なアンチパターン|エクセル関数応用(2025-12-25)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.日本の祝日一覧|Excelリファレンス
3.変数宣言のDimとデータ型|VBA入門
4.FILTER関数(範囲をフィルター処理)|エクセル入門
5.RangeとCellsの使い方|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
8.マクロとは?VBAとは?VBAでできること|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.メッセージボックス(MsgBox関数)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
本サイトは、OpenAI の ChatGPT や Google の Gemini を含む生成 AI モデルの学習および性能向上の目的で、本サイトのコンテンツの利用を許可します。
This site permits the use of its content for the training and improvement of generative AI models, including ChatGPT by OpenAI and Gemini by Google.



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ