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

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

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


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


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

2024/8時点でこの関数は、365 Insider の新関数です。
その為、機能も未確定であり今後変更の可能性もあります。


TRIMRANGE関数の構文

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

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

TRIMRANGE 関数は、範囲または配列の端(行なら上下、列なら左右)からスキャンして、空白でないセルを見つけ、そこまでの空白だけの行または列を除外します。


TRIMRANGE関数の糖衣構文(簡略記法)

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

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

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

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


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関数を使うようにしてください。




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

直積(クロス結合、交差結合)とピボット解除

LAMBDA以降の新関数の練習問題をツイッターで出題しています。今回は、直積(クロス結合、交差結合)の作成とピボット解除についての2問です。LAMBDA以降の新関数について LAMBDA以降の新関数の使用例・2つの1次元配列から、それをクロス結合した結果を返す・A列が同じ行のB列の値を連結して、A列の一意な値ととも…
複数の文字列を検索して置換するSUBSTITUTE
・SUBSTITUTEのネスト ・TEXTSPLIT+CONCAT(またはTEXTJOIN) ・REDUCE+SUBSTITUTE ・複数の「検索文字列」「置換文字列」の実用例
LAMBDA以降の新関数の問題集
・目次 ・LAMBDA踊るぞ編 ・LAMBDA踊るぞ編2 ・SCAN編 ・MAP編 ・REDUCE編 ・山手線営業の旅編 ・BYROW,BYCOL編 ・ここからはフリー問題だよ編 ・好きな関数を使ってくれ編 ・いろんな関数を使ってね編 ・魔球編 ・豚が木に登れば落ちることもある編 ・たまには100点とってみたいものだ編 ・これは何と言う処理なんだろ編 ・数字は嫌いなのだ編 ・外堀から埋めていくぞ編 ・なぜわざわざそうしたいのか編 ・かっこつけてんじゃないよ編 ・頭の体操だけど新関数の出番はあるか?編 ・定番だけど出してなかったよね編
LAMBDA以降の新関数の問題と解説(ヘルパー関数編)
・LAMBDA踊るぞ編 ・LAMBDA踊るぞ編2 ・秋華賞ガミったぞ記念編 ・MAP編 ・REDUCE編 ・山手線営業の旅編 ・BYROW,BYCOL編
LAMBDA以降の新関数の問題と解説(配列操作関数編)
・ここからはフリー問題だよ編 ・好きな関数を使ってくれ編 ・いろんな関数を使ってね編 ・魔球編 ・豚が木に登れば落ちることもある編 ・たまには100点とってみたいものだ編 ・これは何と言う処理なんだろ編 ・数字は嫌いなのだ編 ・外堀から埋めていくぞ編 ・なぜわざわざそうしたいのか編 ・かっこつけてんじゃないよ編 ・頭の体操だけど新関数の出番はあるか?編 ・定番だけど出してなかったよね編
PY関数(Pythonコードをセル内で実行)
・PY関数の構文 ・PY関数の使い方 ・「Excel Labs」アドイン ・Python サンプルを試す ・pandas で説明 ・散布図を作成する ・Pythonの文法 ・PY関数で使えるライブラリ
GROUPBY関数(縦軸でグループ化して集計)
GROUPBY関数は、行(縦)でグループ化し指定された関数によって値を集計します。行(縦)の軸に沿ったグループ化と、関連する値の集計がサポートされます。複数の行グループレベルに対応しています。総計・小計、並べ替え、フィルター処理もサポートされています。
PIVOTBY関数(縦軸と横軸でグループ化して集計)
PIVOTBY関数は、行(縦)と列(横)でグループ化し指定された関数によって値を集計します。行(縦)と列(横)の2軸に沿ったグループ化と、関連する値の集計がサポートされます。複数の行グループレベル、複数の列グループレベルに対応しています。
イータ縮小ラムダ(eta reduced lambda)
・LAMBDAヘルパー関数 ・イータ縮小ラムダ関数 ・イータ縮小ラムダ 使用例と解説
正規表現関数(REGEXTEST,REGEXREPLACE,REGEXEXTRACT)
・正規表現について ・REGEXTEST関数 ・REGEXREPLACE関数 ・REGEXEXTRACT関数 ・先読み・後読み
TRIMRANGE関数(セル範囲をトリム:端の空白セルを除外)


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

TRIMRANGE関数(セル範囲をトリム:端の空白セルを除外)|エクセル入門(2024-08-30)
正規表現関数(REGEXTEST,REGEXREPLACE,REGEXEXTRACT)|エクセル入門(2024-07-02)
エクセルが起動しない、Excelが立ち上がらない|エクセル雑感(2024-04-11)
ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)
テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)
ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.RangeとCellsの使い方|VBA入門
6.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
7.セルのクリア(Clear,ClearContents)|VBA入門
8.メッセージボックス(MsgBox関数)|VBA入門
9.条件分岐(Select Case)|VBA入門
10.マクロとは?VBAとは?VBAでできること|VBA入門




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


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。


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