Excelで文字列に含まれるスペースを削除する方法


Excelで住所録を作っていて、半角や全角のスペースが含まれている住所が結構あるのですが、表示を揃えるためにスペースをまとめて削除することはできますか?

いくつか方法はあるけど「置換」を使った操作が簡単よ。


ということは、ほかの方法もあるのですか?

たとえば「SUBSTITUTE」関数を使ってもできるわ。

関数を使うメリットはありますか?

関数と式を残せば、あとからでも住所をどう加工したのか分かるわ。でもとり急ぎスペースを除きたいだけなら「置換」操作の方が簡単にできるわよ。
説明
Excelでセルに入力された文字列に含まれているスペースを削除したいとき、最もシンプルなのは「検索と置換」機能を使う方法です。
1. 文字列に含まれるスペースを削除したいセルを選択します。

2. 「ホーム」タブの「検索と選択」から「置換」を選択。

※ショートカットキー「Ctrl」+「H」も使えます。
3. 「検索と置換」画面の「検索する文字列」に全角スペースを入力。

※「置換後の文字列」には何も入力しません。
4. 「検索と置換」画面の「オプション」ボタンをクリックして、切り替わった画面で「半角と全角を区別する」にチェックがないことを確認。

5. 「検索と置換」画面の「すべて置換」ボタンをクリック。

これで「全角スペース」も「半角スペース」も一緒にスペースなしに置換され、文字列に含まれるスペースはすべて削除されます。

実施後、結果が期待していた状態と違う場合は、直後に
「Ctrl」+「Z」
のショートカットキーを使えば「元に戻す」こともできます。
一方、検索文字列を置換する「SUBSTITUTE」関数を使うこともできます。
SUBSTITUTE(文字列,検索文字列,置換文字列,置換対象)

たとえばセル「A1」に全角スペースを含んだ住所があれば
=SUBSTITUTE(A1," ","")
という式で「全角スペース」は「スペースなし」に置換できます。

この式では「半角スペース」はそのままです。
そこで「半角スペース」も「スペースなし」に置換するには、先ほどの式による結果を、さらに「SUBSTITUTE」関数で置換する式になります。
=SUBSTITUTE(SUBSTITUTE(A1," ","")," ","")

この式を残しておけば、あとから文字列をどう処理したのかが分かります。
それでも、とにかくスペースを取り除きたいだけなら「検索と置換」機能でスペースを「検索」して、スペースなしに「置換」すればいいでしょう。
執筆者: 林 俊二