FIND関数で氏名から名字と名前を取り出します

 名簿などで名字と名前の間にスペースがあれば、そこから名字だけ、あるいは名前だけを取り出すことができますよ。今回使用する関数は LEFT, MID, FIND です。練習用の表は記事下に用意してありますので、下図を参考にシートに貼りつけてくださいな。

 EXCEL-FIND名前取り出し

氏名から名字を取り出します

 FIND関数は文字列の中で指定した文字を検索して、その位置を教えてくれます。上図にある B3 の文字列に対して

=FIND(" ",B3)

とするとセル B3 にある「古邸 雄資」という文字列から半角スペースの位置を探し出して「 3 」(左から3番目)ということを教えてくれます。この数字から 1 を引くようにして

=FIND(" ",B3)-1

とすれば、それは名字の末尾「邸」が何番目にあるかを示す数値となります。そしてLEFT関数は文字列の左から指定した数だけ文字を抜き出します。セル B3 であれば

=LEFT(B3,2)

のように2文字を指定すると「古邸」というように名字を抜き出します。しかし苗字は1文字や3文字の場合もありますから、ここに先ほどの

=FIND(" ",B3)-1

という記述を入れ子にして

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

とすれば、左側から名字の末尾「邸」の位置までを取り出して「古邸」という文字列を返してくれます。この数式を C7 までオートフィルすれば、1文字の名字である「懸」さんもちゃんと抜き出してくれますよ。
 

氏名から名前を取り出します

 今度は名前を抜き出してみましょう。FIND関数の記述については、先程とほとんど同じですが、半角スペースの次の位置を知りたいので、

=FIND(" ",B3)+1

を用います。文字を途中から取り出すMID関数は

=MID(文字列,開始位置,取り出す文字数)

の形で使います。取り出す文字数は多めに指定しておけば、末尾まで取り出してくれます。 B3 の文字列を対象にすると

=MID(B3,4,10)

とすれば「古邸 雄資」の 4 番目の位置「雄」から末尾までを得て「雄資」という文字列を返します。一般的に適用できるようにFIND関数を入れ子にしてセル D3 に

=MID(B3,FIND(" ",B3)+1,10)

と入力して D7 までオートフィルすると、名前だけを抜き出してくれます。

氏名 名字 名前
古邸 雄資 古邸 雄資
簗場 梨絵 簗場 梨絵
歌代 貴久造 歌代 貴久造
懸 康子 康子
頓戸 国教 頓戸 国教

 ⇒ データベース研究所トップページ

スポンサードリンク
末尾大型広告
末尾大型広告

コメントをどうぞ

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)