7/02/2015

Excel。division。氏名を苗字と名前に分割。けどちょっとの事で、うまくいきません!


Excel。氏名を苗字と名前に分割。けどちょっとの事で、うまくいきません!

置換・SUBSTITUTE関数


前回、氏名を苗字の列と、名前の列にそれぞれ、わけて抽出する方法をご紹介しましたが、
これに後日談がありまして、取引先の担当者さんから、教えてもらったようにやったんだけど、
エラーがアチコチで、出ているんだけど?ということで、見にお伺いさせていただいたら、
やっぱりなぁ~というエラーでしたので、

ちょっとした、些細な事なのですが、苗字と名前に分ける時だけではなくて、
よくあるトラブルなので、そのトラブルと対応方法をご紹介してきます。

下記の表があります。

C5とD5に、#VALUE! というエラーが表示されていますね。
このエラーがアチコチに出ていたわけです。

原因は、B列にあります。

氏名の列をみると、格段、見た目で【?】のところはないように、一瞬思いと思いますが、
エラーが出ている、B5は、苗字と名前の間の空白が、全角の空白ではなくて、

半角の空白になってしまっているんですね。

これが、エラーの原因です。
なぜ、エラーになったのかというと、C列とD列それぞれの数式を確認してみましょう。

C列には、
=LEFT(B5,FIND(" ",B5,1)-1)

D列には、
=RIGHT(B5,LEN(B5)-FIND(" ",B5,1))

FIND関数のところが、全角空白を検索するようになっています。

ところが、半角空白になっていると、見つけることが出来ないので、
エラーが発生してしまったわけです。

些細な事なのですが、
全角空白と半角空白。

パソコン上では、大きな違いなのです。
では、どうやって修正したらいいでしょうか?

一か所でしたら、自力で半角空白を全角空白にかえてるという方法もアリだと思いますが、複数ある場合には、どうしたらいいのか?

そこで、SUBSTITUTE関数を使って…と紹介したいところですが、
SUBSTITUTE関数を使うと、それを算出させる列が必要になりますので、
置換で処理をしてしまったほうが、楽なケースもあります。

なんでも、関数。という訳ではなく、結果的に、ちゃんと抽出できれば、OKなわけですから。
今回もそれで、修正されましたので、まずは、置換からやってみてはどうでしょうか?

では、B列を範囲選択します。

ホームタブの検索と選択をクリックして、置換をクリックして、
置換ダイアログボックスを表示しましょう。

表示されましたら、

置換タブの
検索する文字列のボックスには、半角空白を入力します。
置換後の文字列のボックスには、全角空白を入力します。
あとは、すべて置換ボタンをクリックしましょう。

メッセージボックスが表示されてきますので、OKボタンをクリックしましょう。

半角空白が全角空白になったことにより、エラーから回復されましたね。

半角空白と全角空白。些細な差かもしれませんが、
パソコンにとって、Excelにとっては、全く別ですので、ご注意ください。

なので、分割抽出するのなら、
最初から、苗字と名前で列を作って入力したほうがデータの精度が高くなると思われますよ。