7/08/2015

Excel。Extra space。氏名を苗字と名前に分けてみたら、エラー続出!原因は余計な空白だった


Excel。氏名を苗字と名前に分けてみたら、エラー続出!原因は余計な空白だった

SUBSTITUTE関数・TRIM関数


なんとなくシリーズになってきました、氏名を苗字と名前に分けてみよう。
全角空白では抽出させるためのターゲットにしているのに、半角空白になっていたら、
エラーが出たので、全角空白なら、全角空白に半角空白なら、
半角空白に統一しましょうと書きましたが、やっぱりエラーが消えない。

という方がいましたので、確認してみると、今回も原因は空白でした。

下記の表があります。

このようなエラーが出ていたわけですね。

見た目は、全角空白が空いているように見えますが、
実はこれ、半角空白が2つ入っていて、
見た目全角空白が入力されているように見えたわけですね。

つまり、空白が余計だったわけです。


このような余計な空白を消去させるには、TRIM関数を使うのがいいかと思いますね。

Wordのように、編集記号の表示非表示とかあれば、見た目でわかるのですが、
Excelはわからないので、TRIM関数を使って一発変換というのがいいでしょうね。

今回は、わかりやすいようにA列を使ってTRIM関数の結果を表示していきます。

では、A3をクリックしましょう。
TRIM関数ダイアログボックスを表示しましょう。

文字列にB3を入力しましょう。
あとは、OKボタンをクリックしましょう。

見た目特に変わってないようにも見えますが、
A4とB4を見比べると、空白の数が変わっているのが確認できますね。

これで、余計な空白を取り除くことができましたので、
A列のデータをB列に値の貼り付けでコピーしてみましょう。

これで、終わりと思いきや、エラーは表示されたまま。
原因は、半角空白が2個だったのが、1個になったわけなので、
余計な空白はなくなったのですが、全角空白で苗字と名前を分けていますので、
半角空白を全角にしてあげる必要があります。

そこで、余計な空白も削除して、
半角空白を全角空白にいっぺんに処理する方法をご紹介します。
SUBSTITUTE関数とTRIM関数のネストです。

TRIM関数の結果を貼り付ける前の状態に戻して、A列も削除しておきます。
では、改めて、A3をクリックして、SUBSTITUTE関数ダイアログボックスを表示しましょう。

文字列には、TRIM(B3)
これで、余計な空白を消去することができます。
検索文字列には、” “ 半角空白ですね。
置換文字列には、” “ 全角空白ですね。
置換対象 省略してもいいですが、一文字目なので1と入力します。

あとは、OKボタンをクリックします。
数式をコピーしておきましょう。

A列の結果を、B列に値の貼り付けでコピーしてみましょう。

これで、エラーも消えましたね。
一発でやる方法もありますので、用途に合わせて使ってみてはどうでしょうか?