元の文字列を残すかどうかで使い分ける
Excelで作業をしているとき、文字列に含まれる半角や全角の空白(スペース)を取り除くために、セルを編集状態にして[Backspace]キーや[Delete]キーを押したりしていませんか? 例えば、以下のようなケースです。
氏名と住所に、半角や全角の空白が含まれています。
こうした空白を手作業で削除しようとすると、削除してはいけない文字列まで削除してしまったり、部分的に空白を見落としてしまったりと、ケアレスミスが発生しがちです。一瞬で空白を削除できるテクニックを覚えて、「速い」「ミスがない」という2つの意味での時短を実現したいものです。
本記事では、文字列に含まれる空白を一括削除する定番ワザとして、2つのテクニックを紹介します。空白の削除後、元の文字列を上書きしても問題なければ[検索と置換]ダイアログボックスの操作が簡単です。一方、元の文字列を残して、結果を別のセルに表示したいときはSUBSTITUTE関数がおすすめです。目的に応じて使い分けるといいでしょう。
動画で操作方法を見る!
※BGMが流れます。音量にご注意ください。
[検索と置換]ダイアログボックスを利用する
[検索と置換]ダイアログボックスを使う方法では、[置換後の文字列]に何もない指定しないことで空白を一括削除できます。置換の操作を間違えてしまった場合は[Ctrl]+[Z]キーを押して、まとめて元に戻すことが可能です。
1[検索と置換]ダイアログボックスを表示する
空白を含むセル範囲を選択したうえで[Ctrl]+[H]キーを押し、[検索と置換]ダイアログボックスを表示します。セル範囲を選択しない場合はワークシート全体が置換の対象になることに注意してください。
2空白を削除する
[検索する文字列]に空白(スペース)を入力します。ここでは半角と全角の空白をまとめて削除するため、空白は半角と全角のどちらでも構いません。
[置換後の文字列]には何も入力しません。[半角と全角を区別する]にチェックが付いていないことを確認して[すべて置換]をクリックします。
置換した空白の数が表示されます。[OK]をクリックしましょう。
3空白が削除された
選択したセル範囲の文字列に含まれる空白がすべて削除されました。
SUBSTITUTE関数で空白をまとめて削除する
SUBSTITUTE(サブスティテュート)関数は、文字列の一部を指定した文字列で置換できるExcel関数です。半角と全角の空白を空の文字列("")で置換することで削除します。構文は以下の通りです。
=SUBSTITUTE
(文字列, 検索文字列, 置換文字列, 置換対象)
1つめの引数[文字列]で対象の文字列があるセルを指定します。[検索文字列]と[置換文字列]に検索・置換する文字列を指定します。
[置換対象]には何番目の文字列を置換するかを指定でき、省略した場合はすべての[検索文字列]が[置換文字列]に置換されます。
半角と全角の空白をまとめて削除する場合は、SUBSTITUTE関数を2つ組み合わせて、以下のように指定します。内側のSUBSTITUTE関数で全角の空白を空の文字列("")に置換、外側のSUBSTITUTE関数で半角の空白を空の文字列("")に置換しています。
=SUBSTITUTE(SUBSTITUTE(C2," ","")," ","")
1SUBSTITUTE関数を入力する
セルD2に「=SUBSTITUTE(SUBSTITUTE(C2," ","")," ","")」と入力します。
2空白が削除された
数式をコピーします。C列の文字列に含まれる半角と全角がすべて削除されました。
半角と全角の空白をどちらかに統一する
[検索と置換]ダイアログボックスとSUBSTITUTE関数のいずれも、半角と全角の空白をどちらかに統一する目的でも利用できます。それぞれでの方法を見ていきましょう。
[検索と置換]ダイアログボックスで統一する
検索する空白を[検索する文字列]、統一後の空白を[置換後の文字列]に指定します。以下は半角の空白を検索して、全角の空白で置換する例です。[半角と全角を区別する]にチェックを付けておくことがポイントです。
ここでは[検索する文字列]に半角の空白、[置換後の文字列]に全角の空白を入力しました。[半角と全角を区別する]のチェックを付けて[すべて置換]をクリックします。
SUBSTITUTE関数で統一する
SUBSTITUTE関数を使って半角と全角の空白を統一するときは、[検索文字列]と[置換文字列]にそれぞれを指定します。以下は半角の空白を全角の空白に統一する数式です。
=SUBSTITUTE(C2," "," ")
全角の空白を半角の空白に統一する場合は[検索文字列]に全角の空白、[置換文字列]に半角の空白を指定します。
セルC2に「=SUBSTITUTE(C2," "," ")」と入力してあります。半角の空白を探して、全角の空白で置換しています。
空白を簡単に削除するなら[検索と置換]ダイアログボックスが手軽です。元のデータを作業用の列にコピーしてから作業するのもおすすめです。SUBSTITUTE関数では、空白の文字列("")の代わりに「-」(ハイフン)などを指定して、半角や全角の空白を任意の文字に置換することもできます。