Excel で文字列の前後にある不要なスペースを削除できますか?
「TRIM関数」で文字列に含まれる余分なスペースを削除できます。
Excel で文字列に含まれるスペースを削除する方法は紹介しています。
- エクセル(Excel)で文字列に含まれるスペースを削除する
- パソコントラブルQ&A(2014/12/24)
このときは「検索と置換」機能を使って、検索する文字列を「スペース」として、置換後の文字列には何も入力しないで「すべて置換」しました。
「オプション」設定で「半角と全角を区別する」にチェックがなければ「全角スペース」も「半角スペース」も一緒に「スペースなし」に置換されるので、文字列に含まれるスペースはすべて削除できるわけです。
ただし「すべて削除」ではなく、文字列に含まれる単語間の「スペース」だけはそのまま残したい、たとえば「姓」と「名」の間に「スペース」があるなら、その「スペース」は残したい、といったケースがあります。
そんなときに使えるのが「TRIM関数」です。
「書式」は「TRIM(文字列)」で、「文字列」に含まれる単語間のスペースは 1つずつだけ残し、「文字列」の前後や重複する不要なスペースはすべて削除できます。
たとえば次のように前後に不要な「全角スペース」や「半角スペース」を含む氏名データがある場合、
「A1」に「 あおい たろう」
「A2」に「いけだ じろう 」
「A3」に「 さかい さぶろう 」
不要なスペースを削除して表示するセルに「TRIM関数」を使って
「B1」に「=TRIM(A1)」
「B2」に「=TRIM(A2)」
「B3」に「=TRIM(A3)」
と入力して実行すれば
「B1」は「あおい たろう」
「B2」は「いけだ じろう」
「B3」は「さかい さぶろう」
となり、前後の不要なスペースはすべて削除されます。
◆◇◆
「TRIM関数」で 1つだけ残す「単語間のスペース」は「全角」か「半角」かは判別はしないので、たとえばすべて「全角スペース」に揃えるなら「TRIM関数」で出力された文字列に含まれるスペースを整えます。
具体的には先ほどの「TRIM関数」による文字列を使えば「B1」から「B3」をコピーして「C1」から「C3」に「値だけ貼り付け」します。
その上で「検索と置換」で「半角スペース」を検索して「全角スペース」に置換すればいいわけです。
あるいは検索文字列を置換する「SUBSTITUTE」関数を使っても可能です。
書式:SUBSTITUTE(文字列,検索文字列,置換文字列,置換対象)
つまり、先ほどの「B1」は「=TRIM(A1)」でしたが、それを
=SUBSTITUTE(TRIM(A1)," "," ")
とするのです。
これで「文字列」から余分なスペースを削除し、単語間に 1つだけ残ったスペースを「全角スペース」に揃えることができます。
理解を深めるための「パソコン用語解説」
記事の情報は公開時あるいは更新時のもので、最新情報はリンク先など情報元の公式ページでご確認ください。