Excel。セル内の余計な空白を消去して、文字の間は半角空白で揃えたい
<TRIM+SUBSTITUTE関数>
テキストファイルなどをインポートして、データを読み込んでみたら、セル内に余計な空白がアチラコチラ入っている。
その空白も、全角や半角が混じっているし、文字と文字の間は半角空白を一つだけで揃えたいといった場合、どのようにしたら、手早く、データを綺麗にすることができるのでしょうか。
サンプルの表をつくってみました。
B2には、
=TRIM(SUBSTITUTE(B1," "," "))
という数式を設定しました。
その数式をオートフィルで数式をコピーしてD2まで設定しています。
TRIM関数は、セルの前後にある空白を削除してくれます。
これで、B1のようなパターンでは、前後の空白を削除してくれます。
そして、このTRIM関数は、文字と文字の間の空白が複数ある場合は1つだけ残して削除してくれる便利機能も付いているので、B1のように、全角空白2文字の場合は、全角空白1文字にしてくれます。
なお、半角空白と全角空白の組み合わせでも、空白1文字残してくれます。
空白を削除するだけならば、TRIM関数だけでいいのですが、半角空白で揃えたいので、SUBSTITUTE関数をつかって、半角空白に揃えていきます。
SUBSTITUTE関数は、指定した文字に置換してくれる関数です。
文字と文字の間の空白は、半角空白にしたいので、全角空白を半角空白に置換するように引数を設定してあげるだけで、文字の前後の空白と、文字と文字の間の空白を半角空白にすることができました。