Excelで空白(スペース)を削除する方法|TRIM・SUBSTITUTEの使い分け

Excelで空白(スペース)を削除する方法|TRIM・SUBSTITUTEの使い分け
結論(先に答え)

前後の余分な空白の削除は =TRIM(A2)(単語間のスペースは1つ残る)。すべての空白を削除するなら =SUBSTITUTE(SUBSTITUTE(A2," ","")," ","")(半角・全角の両方を削除)です。

名簿や住所録で「先頭や末尾に余計なスペースが入っている」「全角と半角のスペースが混在している」——空白はデータの照合ミス(VLOOKUPで見つからない等)の定番原因です。この記事では、TRIM関数とSUBSTITUTE関数の使い分けと、見えない空白の対処法まで解説します。

ExcelでTRIM関数とSUBSTITUTE関数を使って空白(スペース)を削除する図解
練習用Excelファイル(無料ダウンロード)
この記事の解説で使うExcelデータです。数式と練習データが入っているので、本文の式を同じ表で試せます。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り
目次

方法1:TRIM関数(前後の空白を削除・間は1つ残す)

手順:B2 に TRIM の式を入れて Enter

B2 に次の式を入力して、Enter キーを押します❶。

B2 に入れる式
=TRIM(A2)
A2 文字列(元データ)
ひとことで元の文字の前後の空白を消し、間の空白は1つだけ残す
式を分けて読むと(色は画像の枠と同じ)
文字列A2
どのセルを整える?
→ 前後に空白の付いた「 佐藤 太郎 」
自分の表で使うときは
すべての空白を消すなら SUBSTITUTE で半角と全角の空白を “” にします。例:空白をすべて消す=SUBSTITUTE(SUBSTITUTE(A2," ","")," ","")
エクセルのTRIM関数で前後の空白を削除する式と、元データのセルを色分けした画面
エクセルのTRIM関数で前後の空白を削除する式と、元データのセルを色分けした画面

確認:前後の空白が消えて「佐藤 太郎」になった

エクセルのTRIM関数で前後の全角スペースが消えて佐藤 太郎になったことを示した画面
エクセルのTRIM関数で前後の全角スペースが消えて佐藤 太郎になったことを示した画面

答えは 佐藤 太郎 になりました❷。式は、次の順に計算しています。

  1. 前と後ろの空白を消す
    ⇒ 「佐藤 太郎」
  2. 間の空白は1つ残す
    ⇒ 佐藤 太郎
ポイントTRIM関数は、文字列の前後の空白をすべて削除し、単語の間の空白は1つだけ残して整理します。「姓と名の間のスペースは残したい」名簿データに最適です。全角スペースも対象になります。
練習用Excelファイル(無料ダウンロード)
空白削除の練習ファイルで、TRIMとSUBSTITUTEの違いを試せます半角・全角の空白が混ざったデータで、どちらの関数でどう変わるかを確認できます。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り
ヒント:名簿には TRIM
姓と名の間のスペースを残したい名簿では、TRIM が向いています。

まず動かしてみよう|この記事のサンプルをその場で試せます

練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。

方法2:SUBSTITUTE関数(すべての空白を削除)

C2に入力(C5までコピー):SUBSTITUTEで、すべての空白を削除する
数式=SUBSTITUTE(SUBSTITUTE(A2," ","")," ","")
ひとことで半角と全角のスペースを、どちらも空に置き換えて、すべて詰める
" "
内側のSUBSTITUTEで、半角スペースを空に置き換えます
" "
外側のSUBSTITUTEで、全角スペースを空に置き換えます
データの流れ
① すべての空白を詰める結果
A2 佐藤 太郎 C2佐藤太郎
ポイントスペースを一切残さず詰めたい場合は、SUBSTITUTE関数で「半角スペース→なし」「全角スペース→なし」の置換を入れ子にします。内側で半角、外側で全角を置換しているため、混在データでも一度で削除できます。

方法3:置換機能(Ctrl+H)で元データを直接書き換える

ポイント数式を使わず元のセルを直接直すなら、Ctrl+H(検索と置換)で「検索する文字列」にスペースを入力し、「置換後の文字列」を空欄にして「すべて置換」します。半角と全角は別々に実行してください。数式と違い元に戻しにくいので、実行前のバックアップがおすすめです。

削除できないときは「見えない空白」を疑う

注意Webページやシステムからコピーしたデータには、見た目はスペースなのにTRIMで消えないノーブレークスペース(CHAR(160))が混ざることがあります。次の式で除去できます。
セルに入力:見えない空白(ノーブレークスペース)も取り除く
数式=TRIM(SUBSTITUTE(A2,CHAR(160)," "))
ひとことでWebなどからコピーした、TRIMで消えない空白を、普通の空白に変えてからTRIMする
CHAR(160)
ノーブレークスペースです。見た目は空白ですが、TRIMでは消えません
" "
普通の半角スペースに置き換えます
補足「空白を消したのに数値として計算できない」「VLOOKUPが#N/Aになる」ときも、この見えない空白が原因のことがあります。
ポイント「空白を消したのに数値として計算できない」「VLOOKUPが#N/Aになる」ときも、この見えない空白が原因になっていることがよくあります。
練習用Excelファイル(無料ダウンロード)
B2・C2に式を入れて、B5・C5までコピーすると、結果を見比べられます。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

まとめ

やりたいこと数式・操作
前後の空白だけ削除(間は1つ残す)=TRIM(A2)
すべての空白を削除=SUBSTITUTE(SUBSTITUTE(A2,” “,””),” ”,””)
元データを直接書き換えCtrl+H(半角・全角を別々に置換)
Web由来の見えない空白を除去=TRIM(SUBSTITUTE(A2, CHAR(160), ” “))

▶ こんな場合はこちら:文字列を数値に一括変換する(空白が原因のことも)/全角⇔半角を一括変換する

基本から確認したいときは、エクセルの空白行を削除する方法もあわせてご覧ください。

セル内で改行する方法を、基本から確認したいときは、エクセルのセル内改行(Alt+Enter・Mac・関数)もあわせてご覧ください。

セルの中の改行を消したいときは、エクセルで改行を削除・置換する方法もあわせてご覧ください。

全角と半角の変換を、ショートカットや入力規則も含めて確認したいときは、エクセルで全角・半角を変換する方法もあわせてご覧ください。

文字の間にスペースを入れる方法(名字と名前の間・1文字ずつ・電話番号)は、エクセルで文字の間にスペースを入れる方法もあわせてご覧ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次