『Excel VBA 表計算とプログラミング学習サイト』では、アフィリエイトプログラムを利用して商品を紹介しています。

【Excel】氏名から名字と名前を取り出す方法

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

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

Excelの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文字の名字である「懸」さんもちゃんと抜き出してくれますよ。

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

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

=FIND(" ",B3)+1

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

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

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

=MID(B3,4,10)

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

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

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

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

コメント