【Excel】エクセルで半角スペースを削除する方法(関数・置換)
Excelの表に含まれる半角スペースは、見た目では気付きにくい一方で、検索、並べ替え、重複チェック、VLOOKUP関数やXLOOKUP関数の照合結果に影響します。
特にコピー&ペーストした氏名、商品コード、住所、メールアドレスなどでは、セルの先頭や末尾、文字の途中に不要な空白が入りやすいため注意が必要です。
この記事では、置換機能でまとめて消す方法から、SUBSTITUTE関数、TRIM関数、CLEAN関数を使い分ける方法まで、半角スペースの削除手順をわかりやすく解説します。
セル内の半角スペースをすべて消すなら置換またはSUBSTITUTE関数、先頭と末尾だけを整えるならTRIM関数が向いています。
数式で処理する場合は、1行目を見出しとして残し、2行目から入力する形にすると管理しやすくなります。
エクセルで半角スペースを削除する方法【置換で一括処理】
| A列 商品名 | B列 処理後 |
|---|---|
| ワイヤレス マウス | ワイヤレスマウス |
| USB メモリ 32GB | USBメモリ32GB |
それではまず、複数セルに含まれる半角スペースを置換機能で一気に削除する方法について解説していきます。
置換は元データを直接書き換える操作です。
失敗を避けるため、重要なブックでは別シートへコピーしてから実行するか、作業前に保存しておきましょう。
検索と置換画面の表示
半角スペースを削除したい範囲を選択してから、キーボードでCtrlキーとHキーを同時に押します。
範囲を選択せずに置換すると、アクティブシート内の広い範囲が対象になる可能性があります。
表の一部だけを整えたいときは、商品名列や住所列など、対象セルを先にドラッグしておくことが大切です。
選択範囲が正しいかを確認したら、検索と置換ダイアログを開きます。

ダイアログが開かない場合は、Excelのホームタブにある検索と選択から置換を選んでも同じ画面を表示できます。
【操作のポイント】置換前に範囲を選ぶと、不要な列や計算式まで変更する事故を防ぎやすくなります。
半角スペースの指定
検索する文字列の欄に、キーボードのスペースキーを1回だけ押して半角スペースを入力します。
置換後の文字列の欄は、何も入力せず空欄のままにしてください。
この設定は、見つけた半角スペースを空文字へ置き換える指定です。
検索欄には空白が見えないため、入力後にカーソルを動かしてスペースが1文字入っていることを確認すると安心です。
全角スペースは別の文字として扱われるため、この操作だけでは削除されません。

【操作のポイント】半角スペースを対象にする場合、検索欄へ半角の空白を1文字だけ入れ、置換後欄は完全に空欄にします。
すべて置換と結果確認
設定できたら、すべて置換をクリックします。
Excelが置換件数を表示したら、想定した件数に近いかを確認しましょう。
たとえば商品名の途中にある空白まで削除すると、単語がつながって読みづらくなる場合があります。
氏名の間、郵便番号、型番の区切りなど、本来必要なスペースまで消えていないかを数件だけでも目視確認することが重要です。
結果が不適切なら、直後にCtrlキーとZキーを押せば置換前の状態へ戻せます。
【操作のポイント】すべて置換の直後は、件数と代表的なセルを確認し、必要ならすぐ元に戻しましょう。
SUBSTITUTE関数による半角スペースの削除
| A列 元データ | B列 数式結果 |
|---|---|
| AB 123 CD | AB123CD |
| EF 456 GH | EF456GH |
続いては、元データを残したまま別列に削除結果を表示できるSUBSTITUTE関数を確認していきます。
数式は次の形です。
=SUBSTITUTE(A2,” “,””)
SUBSTITUTE関数の基本構文
SUBSTITUTE関数は、指定した文字列の中から特定の文字を探し、別の文字へ置き換える関数です。
半角スペースを削除する場合は、B2セルに=SUBSTITUTE(A2,” “,””)と入力します。
最初のA2は処理したい元データのセルです。
2番目の” “は半角スペースを表し、3番目の””は何もない文字列を表します。
つまり、A2内の半角スペースをすべて空欄へ置き換える計算です。
置換とは異なり、A列の元データを変更しないため、確認用の列を作りたい場面に適しています。

【操作のポイント】数式中の2番目の引用符の間には半角スペースを入れ、3番目の引用符の間は空にします。
オートフィルによる数式コピー

B2セルで結果を確認できたら、セル右下に表示される小さな四角形のフィルハンドルを下方向へドラッグします。
データが連続している場合は、フィルハンドルをダブルクリックして下端まで数式をコピーする方法も便利です。
数式をコピーすると、A2はA3、A4のように行番号が自動で変わります。
1行目を見出しにした表では、数式は必ず2行目から開始することで、見出し文字を誤って処理せずに済みます。
結果列の文字列が正しくつながっているか、途中の行も確認しましょう。
【操作のポイント】数式を1件だけ作成して結果を確認してから、オートフィルで下の行へ広げる流れが安全です。
値貼り付けによる結果の確定
SUBSTITUTE関数の結果を元の列へ反映したい場合は、計算結果の列をコピーして値として貼り付けます。
B列をコピーし、貼り付け先で右クリックして値の貼り付けを選択します。
値として貼り付けると数式ではなく文字そのものが保存されるため、元のA列を削除しても結果が変わりません。
ただし、貼り付け先が元データ列の場合は元の文字列を上書きします。
作業用の列を残しておけば、処理前後の内容を比較できるので、業務データでは特に有効です。
【操作のポイント】計算式を固定したいときは、コピー後に値の貼り付けを使い、通常貼り付けで数式を重ねないようにします。
TRIM関数とCLEAN関数の使い分け
| A列 元データ | B列 TRIMの結果 |
|---|---|
| 田中 太郎 | 田中 太郎 |
| 営業 部 | 営業 部 |
続いては、空白をすべて消すのではなく、余分な空白だけを整えたい場合のTRIM関数とCLEAN関数を確認していきます。
TRIM関数は文字列の先頭と末尾の半角スペースを削除し、途中に連続する半角スペースを1個にまとめます。
CLEAN関数は、改行やタブなどの印刷できない制御文字を取り除く関数です。
TRIM関数で余分な空白を整える
B2セルに=TRIM(A2)と入力すると、A2セルの先頭と末尾にある半角スペースが削除されます。
さらに、単語の間に2個以上連続している半角スペースは1個へ整理されます。
氏名の姓と名の間など、空白を1個残したいデータではSUBSTITUTE関数よりTRIM関数が適切です。
TRIM関数は文字列の途中にある半角スペースをすべて消す関数ではありません。
空白を完全に除去したい型番やコードには、SUBSTITUTE関数を選びましょう。

【操作のポイント】先頭末尾の空白と連続空白を整える目的ならTRIM関数、空白をゼロにする目的ならSUBSTITUTE関数です。
CLEAN関数による改行やタブの削除

Webサイトや外部システムから貼り付けたデータには、画面上で見えない改行、タブ、制御文字が混ざることがあります。
そのような場合は、=CLEAN(A2)を使うと不要な制御文字を除去できます。
セル内改行があるデータでは、文字が複数行に見えたり、CSV出力時の形式が崩れたりすることがあります。
CLEAN関数はこうした文字を整理する手段ですが、通常の半角スペースは削除しません。
見えない文字と半角スペースは別物なので、目的に合わせて関数を組み合わせる必要があります。
【操作のポイント】貼り付けたデータに改行やタブが疑われるときは、まずCLEAN関数で見えない制御文字を整理します。
関数を組み合わせる数式
先頭末尾の空白、連続スペース、改行などをまとめて整えたいときは、関数を入れ子にします。
=TRIM(CLEAN(A2))
この式では、最初にCLEAN関数で制御文字を除去し、その結果をTRIM関数で整えます。
空白をすべて削除したい場合は、=SUBSTITUTE(TRIM(CLEAN(A2)),” “,””)のように入力できます。
ただし、住所や文章では単語間の空白にも意味があるため、すべて削除する数式はコード、電話番号、商品番号などに限定するのが無難です。
【操作のポイント】複数の問題が混在するデータでは、CLEAN、TRIM、SUBSTITUTEの順に役割を分けて式を作成します。
全角スペースと半角スペースの判別
| A列 入力例 | B列 LEN関数 |
|---|---|
| A B | 3 |
| A B | 3 |
続いては、処理対象を誤らないために、半角スペースと全角スペースを見分ける考え方を確認していきます。
見た目だけでは判断しにくい空白
半角スペースと全角スペースは、セル内ではどちらも空白として見えるため、画面上の見た目だけで区別するのは困難です。
日本語入力中にスペースキーを押すと全角スペースが入ることがあり、英数字入力中には半角スペースが入ることがあります。
置換で半角スペースだけを削除しても空白が残るときは、全角スペースが含まれている可能性があります。
空白が消えない場合は、置換の失敗ではなく空白の種類が違うケースを疑いましょう。
【操作のポイント】見え方ではなく、入力元や文字コードを意識すると、半角と全角の取り違えを減らせます。
全角スペースを削除する数式
全角スペースも同時に取り除きたいときは、SUBSTITUTE関数を重ねて使用します。
=SUBSTITUTE(SUBSTITUTE(A2,” “,””),” ”,””)
内側のSUBSTITUTE関数で半角スペースを削除し、外側のSUBSTITUTE関数で全角スペースを削除する仕組みです。
数式内の2つ目の空白は全角スペースなので、直接入力する場合は日本語入力の状態を確認してください。
この式は氏名の区切りなども消してしまうため、文字列を完全につなげても問題がない列だけで利用します。
【操作のポイント】全角と半角の両方を消す式では、それぞれのSUBSTITUTE関数がどちらの空白を処理しているか確認します。
CODE関数とUNICODE関数による確認
特定位置の文字を調べたいときは、MID関数とCODE関数、またはUNICODE関数を組み合わせます。
半角スペースのコードは32で、全角スペースのUnicode値は12288です。
たとえばA2セルの2文字目を調べるなら、=CODE(MID(A2,2,1))のように入力します。
文字コードの確認は日常作業では必須ではありませんが、置換しても残る空白の原因を調査するときに役立ちます。
【操作のポイント】削除できない空白があるときは、CODE関数やUNICODE関数で文字の種類を確かめると解決が早まります。
半角スペース削除時の注意点
| データ例 | 削除時の注意 |
|---|---|
| 山田 太郎 | 氏名の区切りが消える |
| AB 123 | 正式な型番か確認する |
続いては、半角スペースを削除する前に知っておきたいデータ管理上の注意点を確認していきます。
削除処理の前には、元データを複製して比較できる状態にしておくと、誤削除への対応が容易になります。
検索や照合で生じる不一致
セルの先頭や末尾に半角スペースがあると、画面では同じに見える文字列でも別の値として扱われます。
その結果、VLOOKUP関数やXLOOKUP関数で該当データが見つからず、エラーになることがあります。
重複の削除やCOUNTIF関数でも同様に、空白の有無で別データと判定される点に注意が必要です。
照合エラーが起きたときは、値の違いだけでなく前後の空白も確認しましょう。
【操作のポイント】検索値と参照表の両方に同じ整形処理を行うと、空白が原因の不一致を防ぎやすくなります。
数値や日付として扱う場合
数字の前後に半角スペースが入っていると、文字列として保存され、合計や並べ替えに支障が出ることがあります。
空白を削除した後も文字列のままなら、VALUE関数や区切り位置機能で数値へ変換する必要があるかもしれません。
郵便番号、社員番号、商品コードのように先頭のゼロを残す値は、数値へ変換せず文字列として管理する選択もあります。
削除後の用途を考え、数値化する列と文字列のまま残す列を区別することが実務では重要です。
【操作のポイント】空白を消した後に計算へ使うのか、コードとして保存するのかを先に決めて、表示形式とデータ型を整えます。
置換対象の限定
文章、住所、備考欄をまとめて置換すると、読みやすさのために入力されたスペースまで失われる可能性があります。
たとえば英語の会社名や住所では、単語間の半角スペースが意味を持つことがあります。
一括置換は便利ですが、対象範囲を絞らなければ予想外のデータ変更につながります。
処理したい列だけを選んでから置換する、または関数で結果列を作って確認する方法が安全です。
【操作のポイント】すべての空白が不要とは限らないため、コード列、数値列、文章列を分けて処理します。
まとめ エクセルで半角スペースを削除する方法
エクセルで半角スペースを削除する方法は、元データを直接修正したいか、別列で整形結果を作りたいかによって選択します。
すぐに一括処理したい場合は、検索と置換で半角スペースを空欄へ置き換える方法が便利です。
元データを残しながら削除するなら、=SUBSTITUTE(A2,” “,””)を入力してオートフィルする方法が役立ちます。
先頭と末尾の空白だけを削除したい場合や、途中の連続スペースを1個残したい場合はTRIM関数を使いましょう。
全角スペースや改行などが混在するデータでは、CLEAN関数や全角スペースを指定したSUBSTITUTE関数を組み合わせると整えやすくなります。
最後に、削除後のデータが氏名、住所、型番、検索キーとして正しい内容になっているかを確認することが大切です。