スペースで区切られた氏名を「名字」と「名前」に分離したい
Excelで「佐藤 健一」のようなスペース区切りの氏名を、名字と名前に分けて表示させたい場合、関数を使用して簡単に実現できます。この記事では、全角と半角スペースの両方に対応する方法をご紹介します。
関数を使って氏名を分離する方法
次の手順で、スペースを区切りとして氏名を名字と名前に分離する方法を解説します。関数のみを使用するため、VBAは不要です。
手順
- 名前が入力されたセルの左隣に「名字」、右隣に「名前」を表示させるための列を準備します。
- セルにスペースを基準に名字と名前を分離する数式を入力します。
例:氏名の分離方法
たとえば、A2セルに「佐藤 健一」と入力されている場合、B列に名字、C列に名前を表示させる数式を以下のように設定します。
A | B | C | |
---|---|---|---|
1 | 氏名 | 名字 | 名前 |
2 | 佐藤 健一 | =LEFT(A2, FIND(” “, SUBSTITUTE(SUBSTITUTE(A2, “ ”, ” “), ” “, ” “), 1) – 1) | =RIGHT(A2, LEN(A2) – FIND(” “, SUBSTITUTE(SUBSTITUTE(A2, “ ”, ” “), ” “, ” “), 1)) |
数式の解説
- LEFT関数: 「名字」を取得するために、氏名の左側からスペースの位置までの文字を抽出します。
- RIGHT関数: 「名前」を取得するために、氏名の右側からスペースの位置以降の文字を抽出します。
- SUBSTITUTE関数:
SUBSTITUTE(A2, " ", " ")
とすることで、全角スペースを半角スペースに変換し、FIND
関数が全角・半角スペースのいずれにも対応できるようにしています。
まとめ
この方法により、Excelでスペース(全角・半角)で区切られた氏名を簡単に「名字」と「名前」に分けることができます。VBAを使用しないため、関数のみで完結するシンプルな方法です。ぜひ活用してみてください。
使用した関数について

FIND関数で指定した文字の位置を求める方法と2つ目の文字位置や右からの位置の求め方についてわかりやすく解説
FIND関数とFINDB関数についてFINDとFINDBの概要セル内の指定した文字の位置を求めるExcel関数=FIND( 位置を知りたい文字列 , 対象 , 開始位置 )=FINDB( 位置を知りたい文字列 , 対象 , 開始位置 )概要 指定した文字列の位置を求める 開始位置は検索のスタート地点、2文字目からとする...

LEFT関数で指定した数の文字列を先頭から取得する方法と日付処理やRIGHTと組合せ方法についてわかりやすく解説
LEFT関数とLEFTB関数についてLEFTとLEFTBの概要文字列を先頭から取り出すExcel関数=LEFT( 文字列 , 文字数 )=LEFTB( 文字列 , 文字数 )概要 指定した文字数分の文字を先頭(左側)から取り出す 文字列の先頭から、文字数分の位置までの文字列を取り出す 末尾から取り出す関数はRIGHTで...

LEN関数で文字数をカウントする方法と複数セルの文字数取得や空白処理についてわかりやすく解説
LEN関数とLENB関数についてLENの概要文字数をカウントExcel関数=LEN( 文字列 )=LENB( 文字列 )概要 文字数をカウントする関数で、LENBは全角文字(2バイト文字)を2と判定します 半角カナでガダバパなどは、濁点を1文字として扱うため、ダはLENであっても2文字とカウントされる。ダ(...

RIGHT関数で指定した数の文字列を末尾から取得する方法と特定の文字までの取得方法についてわかりやすく解説
RIGHT関数とRIGHTB関数についてRIGHTの概要指定数の文字を末尾から取得Excel関数=RIGHT( 文字列 , 文字数 )=RIGHTB( 文字列 , 文字数 )概要 指定した文字数分の文字を末尾から取り出す 文字列の末尾から、文字数分の位置までの文字列を取り出す 先頭から取り出す関数はLEFTである。 特...

SUBSTITUTE関数で文字列を置換する方法と改行や空白の置き換え方法についてわかりやすく解説
SUBSTITUTE関数とSUBSTITUTEB関数SUBSTITUTEの概要指定文字列の置き換えExcel関数=SUBSTITUTE( 文字列 , 検索文字列 , 置換文字列 , (対象) )=SUBSTITUTEB( 文字列 , 検索文字列 , 置換文字列 , (対象) )概要 指定した文字列を置き換える 単純な置...