名簿などで名字と名前の間にスペースがあれば、そこから名字だけ、あるいは名前だけを取り出すことができます。今回使用する関数はLEFT、MID、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までオートフィルすると、名前だけを抜き出してくれます。
氏名 | 名字 | 名前 |
---|---|---|
古邸 雄資 | 古邸 | 雄資 |
簗場 梨絵 | 簗場 | 梨絵 |
歌代 貴久造 | 歌代 | 貴久造 |
懸 康子 | 懸 | 康子 |
頓戸 国教 | 頓戸 | 国教 |
コメント