エクセルで、文字列の前後にある余分な空白(スペース)を消すには、TRIM関数を使います。たとえば「 山田太郎 」の前後の空白は、=TRIM(A3) で消えて「山田太郎」になります。
2つのセルの文字が同じかを「〇」「×」で判定したいときは、文字列を比較する方法(一致・不一致の判定)を見てください。
TRIM関数は、単語の間に空白が続いているときは1つだけ残して整えます。日本語版のエクセルでは、半角だけでなく全角の空白も対象です。この記事では、TRIM関数の基本、全角の空白の扱い、間の空白も全部消す方法、TRIM関数で消えない空白の直し方を、1つの表で説明します。下の練習ツールで、元の文字列を書き換えて結果の変わり方を試せます。
TRIM関数の書き方
| 消えるもの | 残るもの |
|---|---|
| 文字列の前(先頭)の空白 | 単語と単語の間の空白(1つだけ残る) |
| 文字列の後ろ(末尾)の空白 | 空白以外の文字 |
| 間に続いている2つ目以降の空白 | ノーブレークスペース(Webからコピーした空白など) |
まず動かしてみよう|この記事のサンプルをその場で試せます
練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。
TRIM関数の使い方|やりたいこと別の式
| やりたいこと | 式(例) | 結果 |
|---|---|---|
| 前後の空白を消す | =TRIM(A3) | 山田太郎 |
| 間の連続した空白を1つにする | =TRIM(A4) | Excel 関数 |
| 前後の全角の空白を消す | =TRIM(A5) | 東京都 |
| 空白を消した後の文字数 | =LEN(TRIM(A7)) | 7 |
| 間の空白も全部消す | =SUBSTITUTE(A8,” “,””) | 山田太郎 |
| 空白を消して比べる | =TRIM(A9)=”東京” | TRUE |

前後の空白を消す
前後の半角の空白が消えて、結果は 山田太郎 です。見た目では分かりにくいですが、=LEN(A7) は 8 文字、=LEN(TRIM(A7)) は 7 文字になり、先頭の空白が1つ消えたことが分かります。
▶ この式(C3)を、練習ツールで試す / この式(C7)を、練習ツールで試す
間の連続した空白を1つにする
「Excel 関数」のように、単語の間に空白が3つ続いているときは、1つだけ残ります。
結果は Excel 関数 です。間の空白を1つも残したくないときは、後の「間の空白も全部消す」を使います。
全角の空白も消える(日本語版のエクセル)
日本語版のエクセルの TRIM関数は、全角の空白も消します。実際に試すと、「 東京都 」は 東京都 に、「山田 太郎」(全角の空白2つ)は「山田 太郎」(全角の空白1つ)になりました。
▶ この式(C5)を、練習ツールで試す / この式(C6)を、練習ツールで試す
間の空白も全部消す(SUBSTITUTE)
TRIM関数は間の空白を1つ残すので、すべての空白を消したいときは SUBSTITUTE関数を使います。
結果は 山田太郎 です。全角の空白も消すときは、=SUBSTITUTE(SUBSTITUTE(A8," ","")," ","") のように入れ子にします。空白の削除は空白を削除する方法でもくわしく説明しています。
空白があると「一致しない」原因になる
「東京 」(後ろに空白)は、見た目は同じでも「東京」とは別の文字列です。実際に =A9="東京" は FALSE でしたが、TRIM関数で空白を消してから比べると TRUE になりました。
=TRIM(A9)="東京"
VLOOKUP関数や COUNTIF関数で「あるはずなのに見つからない」ときは、余分な空白が原因のことがよくあります(VLOOKUP関数の使い方)。
▶ この式(C9)を、練習ツールで試す / この式(C10)を、練習ツールで試す
TRIM関数で消えない空白(ノーブレークスペース)
Webページからコピーした文字には、普通の空白に見えるノーブレークスペース(文字コード160)が入っていることがあります。これは TRIM関数では消えません。実際に「abc」の後ろにノーブレークスペースを付けた文字列は、TRIM関数を使っても4文字のままでした。
この場合は、先に SUBSTITUTE関数で普通の空白に変えてから TRIM関数を使います。
こうすると、文字数は3文字になりました。
TRIM関数がうまくいかないときの確認表
| 症状 | 考えられる原因 | 対処 |
|---|---|---|
| 空白が消えない | ノーブレークスペースが入っている | SUBSTITUTE(セル,CHAR(160),” “) で変えてから TRIM。 |
| 間の空白が1つ残る | TRIM関数は間の空白を1つ残す | SUBSTITUTE関数で全部消す。 |
| 改行が消えない | 改行は空白ではない | CLEAN関数か SUBSTITUTE(セル,CHAR(10),””) を使う(改行を削除する方法)。 |
| 元のセルを直したい | TRIM関数は別のセルに結果を出す | 結果をコピーして「値」で貼り付ける(形式を選択して貼り付け)。 |
TRIM関数のよくある質問
数字の前後の空白も消せる?
消せますが、結果は文字列になります。計算に使うときは VALUE関数で数値に戻します(VALUE関数の使い方)。
表全体の空白をまとめて消すには?
隣の列に TRIM関数の式を入れて下までコピーし、結果を値で元の列に貼り付けます。
あわせて読みたい:文字列を整える関連記事
練習用ファイル:練習用Excelファイル(.xlsx・無料)
