6/29/2015

Excel。divide。氏名を苗字と名前で分割したいというリクエスト 関数編


Excel。氏名を苗字と名前で分割したいというリクエスト 関数編

LEFT&RIGHT&LEN&FIND関数


2013年の9月に掲載したことのあるネタなのですが、最近よく、教えてほしいと耳にしますので、
今回改めて、氏名を苗字と名前に分割する方法をご紹介していきます。

前回は、2回に分けて、苗字と名前に分ける方法をそれぞれ紹介しましたが、
今回は1つにまとめてご紹介していきます。

まず、下記の表があります。

B列の氏名をC列に苗字、D列に名前とそれぞれ、分けて表示するようしていきますので、

まずは、C列の苗字からご紹介してきましょう。

なお、ポイントですが、B列の氏名。苗字と名前の間には、
全角のスペースが一文字分入っております。

苗字は、氏名の左側から空白文字までの文字数ということになりますから、
LEFT関数を使用していきます。

それでは、C3をクリックして、LEFT関数ダイアログボックスを表示しましょう。

文字列には、B3

そして、

文字数ですが、全角の空白を見つけるために、FIND関数を使いますので、
文字数のボックスをクリックして、FIND関数ダイアログボックスを表示していきましょう。

検索文字列は、全角の空白を探しますので、” “
対象は、B3。
開始位置は、最初に登場する、全角の空白を探しますので、1 と入力しましょう。

あとはOKボタンをクリックします。では完成した数式をオートフィルで連続コピーしましょう。

C3の数式は、
=LEFT(B3,FIND(" ",B3,1))
です。

しかし、ここでもう、ワンポイント!

正確には、苗字+全角空白がC列には表示されているのです。
つまり見た目には、苗字だけが抽出されたように見えますが、全角空白も混ざっています。

C列を自動調整してみると、長曾我部の部のあとに、
一文字分のスペースが残ることがわかります。

ですので、
C3の数式を、

=LEFT(B3,FIND(" ",B3,1)-1)

とマイナス1を付けてあげるのが、ポイントになります。

データの正確性と汎用性を考えた時には、マイナス1を付けることを忘れないようにしましょう。

続いて、名前ですね。

今度は、全体の文字数から全角空白までの文字数を引いてあげて、
その答えの文字数を右側から抽出するという方法になりますので、

まずは、RIGHT関数を使います。D4をクリックして、
RIGHT関数ダイアログボックスを表示しましょう。

文字列には、B3。
文字数には、全体の文字数を算出するために、LEN関数ダイアログボックスを表示します。

文字列には、B3 と入力します。これで、文字数が全体の文字数になります。

数式バーの作りかけである、数式のRIGHT という文字をクリックすると、
RIGHT関数ダイアログボックスに戻ります。

文字数には、LEN(B3)と表示されていますが、
全角空白までの文字数を引きますので、-(マイナス)を入力して、

今度は、FIND関数ダイアログボックスを表示しましょう。

FIND関数は先程のLEFT関数の時と変わりませんので、
検索文字列は、” “ 全角の空白を入力します。

対象はB3

開始位置は1と入力して、OKボタンをクリックしましょう。
あとは、数式をコピーしましょう。

これで、名前の列も完成しました。
このようにすると、苗字・名前を分けることが出来ましたね。

<過去の掲載>
Excel。氏名から苗字を抽出する方法
http://infoyandssblog.blogspot.jp/2013/09/excel-leftfind.html

Excel。氏名から名前を抽出する方法
http://infoyandssblog.blogspot.jp/2013/09/excelrightlenfind.html