<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>TRIMRANGE関数 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/trimrange%E9%96%A2%E6%95%B0/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Sat, 16 May 2026 21:34:03 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.1</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>TRIMRANGE関数 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ExcelのTRIMRANGE関数の使い方｜配列の端の空白を除去する</title>
		<link>https://mashukabu.com/excel-trimrange-function/</link>
					<comments>https://mashukabu.com/excel-trimrange-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 12 Apr 2026 16:09:10 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel中級]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[TRIMRANGE関数]]></category>
		<category><![CDATA[スピル]]></category>
		<category><![CDATA[動的配列]]></category>
		<category><![CDATA[配列関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5920</guid>

					<description><![CDATA[ExcelのTRIMRANGE関数の使い方を丁寧に解説。配列・セル範囲の端にある空白行・空白列を除去する構文・引数・トリミング参照演算子・実務ユースケース4選・関連関数を紹介。Microsoft 365専用。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「データ範囲の端に空白行・空白列が混じっていて、集計や数式がうまく回らない」──そんな場面、ありませんか？</p>



<p class="wp-block-paragraph">社外システムから貼り付けたデータや、フィルターを外したあとに残る空白行・空白列は、SUMやCOUNTA、FILTER関数の結果にズレを生む原因になります。手作業で「Ctrl+End」を押して末尾を確認しながら不要な行を消すのも面倒ですし、データが追加されるたびに同じ作業を繰り返すのも非効率です。</p>



<p class="wp-block-paragraph">ExcelのTRIMRANGE関数を使えば、配列やセル範囲の「端」にある空白行・空白列を数式1つで自動的に除去できます。元データが変わっても再計算で追従してくれるので、メンテナンスフリーな集計フローが組めますよ。</p>



<p class="wp-block-paragraph">この記事では、TRIMRANGE関数の構文・引数の細かな挙動・実務ユースケース・関連関数との使い分けまで、はじめてでも迷わないように解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">TRIMRANGE関数とは？「端の空白」だけを取り除く配列関数</a><ol><li><a href="#toc2" tabindex="0">「空白」と判定される条件</a></li><li><a href="#toc3" tabindex="0">Microsoft 365 / Excel 2024以降のみ使用可能</a></li><li><a href="#toc4" tabindex="0">Excel 2021以前で使えない場合の代替手段</a></li></ol></li><li><a href="#toc5" tabindex="0">TRIMRANGE関数の書き方（構文と引数）</a><ol><li><a href="#toc6" tabindex="0">基本構文</a></li><li><a href="#toc7" tabindex="0">引数の詳細</a></li><li><a href="#toc8" tabindex="0">第1引数 array（必須）：空白を除去する対象</a></li><li><a href="#toc9" tabindex="0">第2引数 rows_trim（省略可）：行の除去方向</a></li><li><a href="#toc10" tabindex="0">第3引数 cols_trim（省略可）：列の除去方向</a></li><li><a href="#toc11" tabindex="0">簡略記法：トリミング参照演算子（.）</a></li></ol></li><li><a href="#toc12" tabindex="0">基本的な使い方：端の空白を除去する</a><ol><li><a href="#toc13" tabindex="0">上下左右すべての端を除去する例</a></li><li><a href="#toc14" tabindex="0">行方向のみ除去する例</a></li><li><a href="#toc15" tabindex="0">下端のみ除去する例（ログ追記用）</a></li><li><a href="#toc16" tabindex="0">上端のみ除去する例（インポート時の空白行対策）</a></li></ol></li><li><a href="#toc17" tabindex="0">実務ユースケース4選</a><ol><li><a href="#toc18" tabindex="0">ユースケース①：貼り付けデータの空白行を自動クリーンアップ</a></li><li><a href="#toc19" tabindex="0">ユースケース②：WRAPROWS / WRAPCOLS と組み合わせて整形精度を上げる</a></li><li><a href="#toc20" tabindex="0">ユースケース③：FILTER 関数と組み合わせた空白除去</a></li><li><a href="#toc21" tabindex="0">ユースケース④：動的な集計範囲を作って SUMIFS にそのまま渡す</a></li></ol></li><li><a href="#toc22" tabindex="0">関連関数との使い分け</a><ol><li><a href="#toc23" tabindex="0">TRIM関数との違い</a></li><li><a href="#toc24" tabindex="0">FILTER関数との違い</a></li><li><a href="#toc25" tabindex="0">TAKE / DROP との違い</a></li></ol></li><li><a href="#toc26" tabindex="0">エラーの原因と対処法まとめ</a><ol><li><a href="#toc27" tabindex="0">rows_trim / cols_trim の値が不正な場合</a></li><li><a href="#toc28" tabindex="0">スピル先にデータがある場合（#SPILL!）</a></li><li><a href="#toc29" tabindex="0">古いバージョンで開いたときの #NAME?</a></li><li><a href="#toc30" tabindex="0">空白でないように見えて空白扱いされない場合</a></li></ol></li><li><a href="#toc31" tabindex="0">まとめ：TRIMRANGE関数で配列の端の空白をすっきり除去しよう</a><ol><li><a href="#toc32" tabindex="0">関連関数</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">TRIMRANGE関数とは？「端の空白」だけを取り除く配列関数</span></h2>



<p class="wp-block-paragraph">TRIMRANGE関数は、配列またはセル範囲の「端にある空白行・空白列」を除去した配列を返す関数です。ここでいう「端」とは、配列の上端・下端・左端・右端の4方向のこと。<strong>中間にある空白行・空白列は除去されません</strong>ので、まずこの仕様を押さえておきましょう。</p>



<p class="wp-block-paragraph">読み方は「トリムレンジ」です。&#8221;TRIM&#8221;（切り取る・除去する）と &#8220;RANGE&#8221;（範囲）を組み合わせた名前で、文字列のスペースを除去するTRIM関数とは別物です。</p>



<p class="wp-block-paragraph">たとえば、A1:C6 の範囲に6行のデータがあり、1行目と6行目が全列空白だとします。<code>=TRIMRANGE(A1:C6)</code> と入力すると、空白の1行目と6行目を除いた B2:C5 相当の配列（中身は元データ）が返されます。元の範囲の空白が増減したり、データが下方向に伸びたりしても、TRIMRANGE関数が自動で調整してくれます。</p>



<h3 class="wp-block-heading"><span id="toc2">「空白」と判定される条件</span></h3>



<p class="wp-block-paragraph">TRIMRANGE関数が「空白行・空白列」と判定するのは、その行（または列）に<strong>入力済みの値が1つもない</strong>ケースです。次のようなセルは「空白ではない」とみなされるので注意してください。</p>



<ul class="wp-block-list"><li>空文字 <code>""</code> が数式で出力されているセル</li><li>スペース1文字や全角スペースが入っているセル</li><li>0 が入っているセル</li></ul>



<p class="wp-block-paragraph">たとえばIF関数で <code>=IF(A1="", "", A1)</code> のように空文字を返している場合、見た目は空白でもTRIMRANGE関数は「値あり」と判定して残します。FILTER関数の結果に空文字が混ざるケースでも同様で、想定どおり除去されないときは「本当に空白か」を Ctrl+→ や Ctrl+↓ で確認してみてください。</p>



<h3 class="wp-block-heading"><span id="toc3">Microsoft 365 / Excel 2024以降のみ使用可能</span></h3>



<p class="wp-block-paragraph">TRIMRANGE関数は、以下の環境でのみ動作します。</p>



<figure class="wp-block-table"><table><thead><tr><th>環境</th><th>対応</th></tr></thead><tbody><tr><td>Microsoft 365（Windows / Mac / Web）</td><td>○</td></tr><tr><td>Excel 2024（Windows / Mac）</td><td>○</td></tr><tr><td>Excel 2021</td><td>×</td></tr><tr><td>Excel 2019 / 2016</td><td>×</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">スピル（数式の結果が複数セルに自動展開される機能）に対応した環境が必要です。Microsoft 365 であっても、更新チャネルが「半期チャネル」など古いブランチだと未配信のことがあるので、<code>=ISFORMULA(TRIMRANGE)</code> や数式オートコンプリートで関数名が候補に出るかを確認するのが手っ取り早い方法です。</p>



<h3 class="wp-block-heading"><span id="toc4">Excel 2021以前で使えない場合の代替手段</span></h3>



<p class="wp-block-paragraph">Excel 2021以前では、TRIMRANGE関数は使えません。代わりに、次のような組み合わせで近い処理を再現できます。</p>



<pre class="wp-block-code"><code>' 末尾の空白行を除去（FILTER + 行が全部空白でないセル）
=FILTER(A1:C100, (A1:A100&lt;&gt;&quot;&quot;)+(B1:B100&lt;&gt;&quot;&quot;)+(C1:C100&lt;&gt;&quot;&quot;)&gt;0)</code></pre>



<p class="wp-block-paragraph">FILTER関数（Excel 2021以降で利用可能）で「いずれかの列に値がある行」だけを抽出すれば、中間と端の両方の空白行を除けます。さらに古いExcel 2019以前ではOFFSET+COUNTAで動的範囲を作る方法もありますが、数式が複雑になりがちなので、可能であれば Microsoft 365 への移行を検討してみてください。</p>



<h2 class="wp-block-heading"><span id="toc5">TRIMRANGE関数の書き方（構文と引数）</span></h2>



<h3 class="wp-block-heading"><span id="toc6">基本構文</span></h3>



<pre class="wp-block-code"><code>=TRIMRANGE(array, [rows_trim], [cols_trim])</code></pre>



<p class="wp-block-paragraph">引数は3つで、2番目と3番目は省略できます。両方とも省略した <code>=TRIMRANGE(A1:C10)</code> の形が最も使う頻度の高い書き方です。</p>



<h3 class="wp-block-heading"><span id="toc7">引数の詳細</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>array</td><td>必須</td><td>空白を除去する配列またはセル参照</td></tr><tr><td>rows_trim</td><td>省略可</td><td>行方向の除去方法。0〜3で指定（デフォルト: 3）</td></tr><tr><td>cols_trim</td><td>省略可</td><td>列方向の除去方法。0〜3で指定（デフォルト: 3）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc8">第1引数 array（必須）：空白を除去する対象</span></h3>



<p class="wp-block-paragraph">array には、空白を除去したい配列やセル範囲を指定します。1次元配列（1行または1列）でも、2次元配列（複数行×複数列）でも使えます。セル範囲だけでなく、<code>{1;2;;;5}</code> のような配列定数や、FILTER・CHOOSECOLS などの結果配列を直接渡すこともできます。</p>



<h3 class="wp-block-heading"><span id="toc9">第2引数 rows_trim（省略可）：行の除去方向</span></h3>



<p class="wp-block-paragraph">rows_trim には、行方向でどの端の空白を除去するかを指定します。</p>



<figure class="wp-block-table"><table><thead><tr><th>値</th><th>動作</th></tr></thead><tbody><tr><td>0</td><td>行方向の空白を除去しない</td></tr><tr><td>1</td><td>先頭（上端）の空白行のみ除去</td></tr><tr><td>2</td><td>末尾（下端）の空白行のみ除去</td></tr><tr><td>3</td><td>先頭と末尾の両方の空白行を除去（デフォルト）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">省略した場合は 3（両端を除去）になります。「末尾の余白だけ削りたい」「上端の見出し前の余白だけ削りたい」というシーンでは、2 や 1 を明示的に指定します。</p>



<h3 class="wp-block-heading"><span id="toc10">第3引数 cols_trim（省略可）：列の除去方向</span></h3>



<p class="wp-block-paragraph">cols_trim には、列方向でどの端の空白を除去するかを指定します。</p>



<figure class="wp-block-table"><table><thead><tr><th>値</th><th>動作</th></tr></thead><tbody><tr><td>0</td><td>列方向の空白を除去しない</td></tr><tr><td>1</td><td>先頭（左端）の空白列のみ除去</td></tr><tr><td>2</td><td>末尾（右端）の空白列のみ除去</td></tr><tr><td>3</td><td>先頭と末尾の両方の空白列を除去（デフォルト）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">省略した場合は 3（両端を除去）になります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>rows_trim と cols_trim を両方省略すると、<code>=TRIMRANGE(array)</code> という最もシンプルな形になります。この場合、上下左右の端の空白行・空白列がすべて除去されます。引数を覚えるのが面倒なときは「とりあえず省略形」で十分なケースが多いです。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc11">簡略記法：トリミング参照演算子（.）</span></h3>



<p class="wp-block-paragraph">Microsoft 365 では、TRIMRANGE関数の省略形として<strong>トリミング参照演算子</strong>（ピリオド <code>.</code>）が用意されています。範囲指定の <code>:</code> の前後にピリオドを置くだけで、対応する方向の空白を除去できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>記法</th><th>等価な数式</th><th>動作</th></tr></thead><tbody><tr><td><code>A1:.C100</code></td><td><code>=TRIMRANGE(A1:C100, 2, 2)</code></td><td>下端・右端の空白を除去</td></tr><tr><td><code>A1.:C100</code></td><td><code>=TRIMRANGE(A1:C100, 1, 1)</code></td><td>上端・左端の空白を除去</td></tr><tr><td><code>A1.:.C100</code></td><td><code>=TRIMRANGE(A1:C100)</code></td><td>上下左右すべての空白を除去</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">たとえば <code>=SUM(A1:.A1000)</code> と書けば、A列に1000行の余裕を持たせつつ、実際に値が入っている範囲だけを合計してくれます。動的に伸びるテーブルに対する「縦に長い予約範囲」と組み合わせるとシンプルに書けるので、覚えておくと便利な書き方です。</p>



<h2 class="wp-block-heading"><span id="toc12">基本的な使い方：端の空白を除去する</span></h2>



<h3 class="wp-block-heading"><span id="toc13">上下左右すべての端を除去する例</span></h3>



<p class="wp-block-paragraph">A1:C6 の範囲に以下のようなデータがあるとします。1行目と6行目が空白行、A列がすべて空白列です。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A列</th><th>B列</th><th>C列</th></tr></thead><tbody><tr><td>1行</td><td>（空白）</td><td>（空白）</td><td>（空白）</td></tr><tr><td>2行</td><td>（空白）</td><td>商品名</td><td>価格</td></tr><tr><td>3行</td><td>（空白）</td><td>りんご</td><td>150</td></tr><tr><td>4行</td><td>（空白）</td><td>みかん</td><td>80</td></tr><tr><td>5行</td><td>（空白）</td><td>ぶどう</td><td>300</td></tr><tr><td>6行</td><td>（空白）</td><td>（空白）</td><td>（空白）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">セル E1 に次の数式を入力します。</p>



<pre class="wp-block-code"><code>=TRIMRANGE(A1:C6)</code></pre>



<p class="wp-block-paragraph">結果として、空白の1行目・6行目・A列が除去され、B2:C5 相当のデータが返されます。</p>



<figure class="wp-block-table"><table><thead><tr><th>商品名</th><th>価格</th></tr></thead><tbody><tr><td>りんご</td><td>150</td></tr><tr><td>みかん</td><td>80</td></tr><tr><td>ぶどう</td><td>300</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">元の A1:C6 の空白が変わっても、TRIMRANGE関数が自動で調整してくれます。データが下に1行追加されれば結果も1行増え、空白行が増えれば自動でその分を切り詰めます。</p>



<h3 class="wp-block-heading"><span id="toc14">行方向のみ除去する例</span></h3>



<p class="wp-block-paragraph">列方向の空白は除去せず、行方向だけ除去したい場合は cols_trim=0 を指定します。</p>



<pre class="wp-block-code"><code>=TRIMRANGE(A1:C6, 3, 0)</code></pre>



<p class="wp-block-paragraph">上下の空白行が除去されますが、左端の空白列（A列）は残ります。「列構造はテンプレートとして固定したいが、行は伸縮させたい」というケースで使う形です。</p>



<h3 class="wp-block-heading"><span id="toc15">下端のみ除去する例（ログ追記用）</span></h3>



<p class="wp-block-paragraph">追記形式のログデータで、下端に余分な空白行が積み上がっている場合などは rows_trim=2 が便利です。</p>



<pre class="wp-block-code"><code>=TRIMRANGE(A1:C100, 2, 0)</code></pre>



<p class="wp-block-paragraph">A1:C100 の範囲のうち、下端の空白行のみ除去します。上端のヘッダー行や A〜C 列の構造は変更しません。<code>=COUNTA(TRIMRANGE(A1:C100, 2, 0))</code> のように COUNTA と組み合わせれば「実データだけの件数」を取得できます。</p>



<h3 class="wp-block-heading"><span id="toc16">上端のみ除去する例（インポート時の空白行対策）</span></h3>



<p class="wp-block-paragraph">CSVをインポートしたときに、ファイル先頭にメタ情報の空白行が入ってしまうケースがあります。そのときは rows_trim=1 が活躍します。</p>



<pre class="wp-block-code"><code>=TRIMRANGE(A1:C200, 1, 0)</code></pre>



<p class="wp-block-paragraph">先頭の空白行だけを除き、末尾の空白行はそのまま残します。下端を残しておけば、その後に追記したデータが自然に取り込まれる構造になります。</p>



<h2 class="wp-block-heading"><span id="toc17">実務ユースケース4選</span></h2>



<h3 class="wp-block-heading"><span id="toc18">ユースケース①：貼り付けデータの空白行を自動クリーンアップ</span></h3>



<p class="wp-block-paragraph">社外システムからコピペしたデータの先頭や末尾に、余分な空白行が入ってしまうことがあります。A1:D50 の範囲に貼り付けたデータがあり、先頭3行と末尾5行が空白だとします。</p>



<pre class="wp-block-code"><code>=TRIMRANGE(A1:D50)</code></pre>



<p class="wp-block-paragraph">空白行が自動で除去されたクリーンなデータが返されます。この数式を一度別シートに用意しておき、<code>=SUM(クリーン!B:B)</code> のように参照すれば、貼り替えのたびに集計ロジックを直す必要がなくなります。<strong>「貼り付け面」と「集計面」を分ける</strong>のがメンテナンス性を上げるコツです。</p>



<h3 class="wp-block-heading"><span id="toc19">ユースケース②：WRAPROWS / WRAPCOLS と組み合わせて整形精度を上げる</span></h3>



<p class="wp-block-paragraph">データの端に空白がある状態で WRAPROWS や WRAPCOLS を使うと、空白セルも折り返し対象に含まれてしまい、結果配列に意図しない空白が混ざります。先に TRIMRANGE で空白を除去しておくと、折り返し後の配列がきれいになります。</p>



<pre class="wp-block-code"><code>=WRAPROWS(TRIMRANGE(A1:A20), 4, &quot;&quot;)</code></pre>



<p class="wp-block-paragraph">A1:A20 のうち、先頭・末尾の空白を除去してから4列で折り返します。リスト形式のデータを「印刷向けのグリッド」に変換するときによく使う組み合わせです。</p>



<p class="wp-block-paragraph">WRAPROWS の詳細は <a href="https://mashukabu.com/excel-wraprows/">ExcelのWRAPROWS関数の使い方</a> を参照してみてください。WRAPCOLS の詳細は <a href="https://mashukabu.com/excel-wrapcols/">ExcelのWRAPCOLS関数の使い方</a> を参照してみてください。</p>



<h3 class="wp-block-heading"><span id="toc20">ユースケース③：FILTER 関数と組み合わせた空白除去</span></h3>



<p class="wp-block-paragraph">FILTER関数で条件抽出したあと、結果の先頭・末尾に空白行が残ることがあります。TRIMRANGE でラップすると、抽出結果の空白を除去できます。</p>



<pre class="wp-block-code"><code>=TRIMRANGE(FILTER(A2:C20, B2:B20=&quot;東京&quot;))</code></pre>



<p class="wp-block-paragraph">B列が「東京」の行を抽出し、結果の端の空白を除去します。データが変わっても数式が自動で調整されますよ。条件に合致する行がゼロのときは <code>#CALC!</code> エラーになるので、IFERROR や <code>FILTER(..., ..., "該当なし")</code> の第3引数で逃しておくとさらに堅牢になります。</p>



<h3 class="wp-block-heading"><span id="toc21">ユースケース④：動的な集計範囲を作って SUMIFS にそのまま渡す</span></h3>



<p class="wp-block-paragraph">トリミング参照演算子（<code>.</code>）と SUMIFS を組み合わせると、「データが何行追加されても合計が崩れない」テンプレートが簡単に作れます。</p>



<pre class="wp-block-code"><code>=SUMIFS(C2:.C10000, A2:.A10000, &quot;2026/05&quot;, B2:.B10000, &quot;東京&quot;)</code></pre>



<p class="wp-block-paragraph">C列の末尾までを自動で詰めて合計するので、最大1万行までの伸び代を予約しておきながらも、計算対象は実データ部分だけに保てます。<code>OFFSET</code> で動的範囲を作る古い手法に比べて、ボラタイル関数を使わない分パフォーマンスにも優しい書き方です。</p>



<h2 class="wp-block-heading"><span id="toc22">関連関数との使い分け</span></h2>



<h3 class="wp-block-heading"><span id="toc23">TRIM関数との違い</span></h3>



<p class="wp-block-paragraph">「TRIM」という名前の関数は別にも存在します。混同しないようにしておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>対象</th><th>動作</th></tr></thead><tbody><tr><td>TRIM（テキスト関数）</td><td>文字列</td><td>文字列の先頭・末尾・連続スペースを除去</td></tr><tr><td>TRIMRANGE</td><td>配列・セル範囲</td><td>配列の端にある空白行・空白列を除去</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">TRIM関数は文字列のスペースを除去する関数で、配列の構造には影響しません。TRIMRANGE関数は配列の行・列の端を整形する関数で、文字列のスペースには影響しません。<strong>両方を組み合わせて、<code>=TRIMRANGE(BYROW(A1:A100, LAMBDA(r, TRIM(r))))</code> のように「端の空白行を消しつつ、各セルの文字列スペースも除去」とすることも可能</strong>です。</p>



<h3 class="wp-block-heading"><span id="toc24">FILTER関数との違い</span></h3>



<p class="wp-block-paragraph">FILTER は条件に一致する行だけを抽出し、TRIMRANGE は端の空白行・列を除去します。</p>



<p class="wp-block-paragraph">「中間の空白行も除去したい」という場合は、TRIMRANGE ではなく FILTER 関数を使います。</p>



<pre class="wp-block-code"><code>' 空でない行だけを抽出（中間の空白行も含めて除去）
=FILTER(A1:C20, A1:A20&lt;&gt;&quot;&quot;)</code></pre>



<p class="wp-block-paragraph">端だけでなく全体から空白行を取り除きたい場合は FILTER 関数の出番です。逆に、テンプレートとしての枠は維持したまま末尾だけ詰めたい場合は TRIMRANGE が向いています。</p>



<h3 class="wp-block-heading"><span id="toc25">TAKE / DROP との違い</span></h3>



<p class="wp-block-paragraph">TAKE は「先頭または末尾から N 行を取り出す」、DROP は「先頭または末尾から N 行を捨てる」関数です。空白かどうかに関わらず、<strong>行数で指定</strong>して切り出します。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>指定方法</th><th>用途</th></tr></thead><tbody><tr><td>TRIMRANGE</td><td>空白かどうかで判定</td><td>「とにかく端の空白を消したい」</td></tr><tr><td>TAKE / DROP</td><td>行数・列数で指定</td><td>「先頭○件だけ欲しい」「ヘッダー1行を捨てたい」</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「先頭3行は不要な見出しなので捨てる」というような固定行数の処理には DROP の方が向きます。逆に、「下端の余白がデータ量に応じて変わる」シーンでは TRIMRANGE の方が自然です。</p>



<h2 class="wp-block-heading"><span id="toc26">エラーの原因と対処法まとめ</span></h2>



<p class="wp-block-paragraph">TRIMRANGE関数で発生しうるエラーは以下の通りです。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>主な原因</th><th>対処法</th></tr></thead><tbody><tr><td>#VALUE!</td><td>rows_trim / cols_trim に 0〜3 以外の値を指定した</td><td>0〜3 の整数を指定する</td></tr><tr><td>#SPILL!</td><td>スピル先のセルに値が入っている</td><td>出力先の範囲を空にしてから入力し直す</td></tr><tr><td>#NAME?</td><td>TRIMRANGE が未対応の Excel バージョンで使用</td><td>Microsoft 365 / Excel 2024 にアップデートする</td></tr><tr><td>全行・全列が除去される</td><td>対象範囲がすべて空白</td><td>対象範囲にデータが入っているか確認する</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc27">rows_trim / cols_trim の値が不正な場合</span></h3>



<p class="wp-block-paragraph">rows_trim や cols_trim に 0〜3 以外の値（例: 4 や -1）を指定すると #VALUE! になります。</p>



<pre class="wp-block-code"><code>=TRIMRANGE(A1:C6, 4, 0)  ' → #VALUE!（rows_trim は 0〜3 のみ）</code></pre>



<p class="wp-block-paragraph">0・1・2・3 のいずれかを指定してください。「両端を除く」が 3、「端を残す」が 0、と覚えると混乱しません。</p>



<h3 class="wp-block-heading"><span id="toc28">スピル先にデータがある場合（#SPILL!）</span></h3>



<p class="wp-block-paragraph">TRIMRANGE関数はスピルを使って結果を複数セルに展開します。出力先の範囲に他のデータが入っていると、#SPILL! エラーになります。エラーセルにマウスを乗せると「スピル先のセルにデータがあります」と表示されるので、その方向にデータがないかを確認して、出力先の範囲を空にしてから数式を入力し直してください。</p>



<h3 class="wp-block-heading"><span id="toc29">古いバージョンで開いたときの #NAME?</span></h3>



<p class="wp-block-paragraph">Microsoft 365 で作成したファイルを Excel 2019 や 2016 で開くと、TRIMRANGE関数は認識されず #NAME? エラーになります。共有先の環境がわからない場合は、最終結果を「値貼り付け」してから配布するか、FILTER関数ベースの代替式に置き換えることを検討してください。</p>



<h3 class="wp-block-heading"><span id="toc30">空白でないように見えて空白扱いされない場合</span></h3>



<p class="wp-block-paragraph">冒頭でも触れたとおり、空文字 <code>""</code> が出力されているセルは「値あり」と判定されて除去されません。<code>=LET(d, A1:C100, t, TRIMRANGE(IF(d="", "", d)), t)</code> のように一度 IF で実セルの空文字を整理してから渡しても結果は変わらないので、根本的に除去したい場合は FILTER 関数で条件抽出するか、<code>COUNTBLANK</code> + <code>IF</code> で空白判定を切り替えるアプローチに切り替えてみてください。</p>



<h2 class="wp-block-heading"><span id="toc31">まとめ：TRIMRANGE関数で配列の端の空白をすっきり除去しよう</span></h2>



<p class="wp-block-paragraph">この記事の要点を整理します。</p>



<figure class="wp-block-table"><table><thead><tr><th>ポイント</th><th>内容</th></tr></thead><tbody><tr><td>できること</td><td>配列・セル範囲の端にある空白行・空白列を除去</td></tr><tr><td>構文</td><td>=TRIMRANGE(array, [rows_trim], [cols_trim])</td></tr><tr><td>対応環境</td><td>Microsoft 365 / Excel 2024 以降のみ</td></tr><tr><td>rows_trim / cols_trim</td><td>0=除去なし / 1=先頭のみ / 2=末尾のみ / 3=両端（デフォルト）</td></tr><tr><td>簡略記法</td><td>トリミング参照演算子 <code>.</code>（例: <code>A1:.C100</code>）</td></tr><tr><td>TRIM関数との違い</td><td>TRIM は文字列のスペース除去、TRIMRANGE は配列の端の行・列除去</td></tr><tr><td>FILTER関数との違い</td><td>TRIMRANGE は端のみ、FILTER は中間も含めて条件抽出</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">TRIMRANGE関数を使えば、コピペデータの余分な空白行・列を数式1つで自動除去できます。WRAPROWS・WRAPCOLS・FILTER など他の配列関数と組み合わせると、さらに強力なデータ整形フローが組めますよ。</p>



<p class="wp-block-paragraph">「貼り付け面」と「集計面」を分け、TRIMRANGE で常にクリーンなデータを介する設計にしておけば、毎月の更新作業がぐっと軽くなります。ぜひ実務で試してみてください。</p>



<h3 class="wp-block-heading"><span id="toc32">関連関数</span></h3>



<p class="wp-block-paragraph">配列操作の関連記事もあわせてどうぞ。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-wraprows/">ExcelのWRAPROWS関数の使い方</a>（1次元配列を行方向に折り返す）</li><li><a href="https://mashukabu.com/excel-wrapcols/">ExcelのWRAPCOLS関数の使い方</a>（1次元配列を列方向に折り返す）</li><li><a href="https://mashukabu.com/excel-function-howto-use-tocol/">ExcelのTOCOL関数の使い方</a>（2次元配列を縦1列に変換）</li><li><a href="https://mashukabu.com/excel-function-howto-use-torow/">ExcelのTOROW関数の使い方</a>（2次元配列を横1行に変換）</li><li><a href="https://mashukabu.com/excel-function-howto-use-sequence/">ExcelのSEQUENCE関数の使い方</a>（連番を自動生成）</li><li><a href="https://mashukabu.com/excel-function-howto-use-hstack/">ExcelのHSTACK関数の使い方</a>（配列を横方向に結合）</li><li><a href="https://mashukabu.com/excel-function-howto-use-vstack/">ExcelのVSTACK関数の使い方</a>（配列を縦方向に結合）</li><li><a href="https://mashukabu.com/excel-function-howto-use-take/">ExcelのTAKE関数の使い方</a>（先頭・末尾を抽出）</li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-trimrange-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
