
Excelで氏名が一つのセルに入っているとき、姓と名を別々のセルに分割したい時があります。
「LEFT」関数、「RIGHT」関数、「LEN」関数、「SEARCH」関数を使って分割してみます。
関数を使わずに分割したい場合は、↓こちらの記事を参照してください。
Excelで氏名が一つのセルに入っているとき、関数を使って姓と名を別々のセルに分割する方法『Excelで氏名を関数を使って姓と名に分割する』を記事にしました。 関数を使って姓と名に分ける時はLEFT関数、RIGHT関数、 …
VBAを使って分割したい場合は、↓こちらの記事を参照してください。
CSVファイルなどの「,」で区切られてるものや、メールアドレスの「@」マーク、氏名の姓・名の間にある「スペース」など、特定の文字で分割したいことはたくさんあります。 データが少ない場合は手入力でいけますが、データの量が多 …
< スポンサーリンク >
関数を使って姓と名を分割する方法
A列に氏名が入力されています。B列に姓、C列に名を表示します。
A列の氏名は姓と名が全角スペースで区切っておきます。(半角スペースは全角スペースに置換しておきます)
B2に
=LEFT(A2,SEARCH(“ ”,A2,1)-1)
と入力します。
※ “ ” の間のスペースは全角スペースです。
C2に
=RIGHT(A2,LEN(A2)-SEARCH(“ ”,A2,1))
と入力します。
※ “ ” の間のスペースは全角スペースです。
C2の右下角をダブルクリックしてコピーします。
完成です。
関数の解説
姓の取得(B列)
=LEFT(A2,SEARCH(“ ”,A2,1)-1)
1.SEARCH関数でA2に含まれるスペースの位置(○文字目という数値)を左から検索します。
2.SEARCH関数で検索したスペースの文字位置から1を引きます(LEFT関数で姓を取得するのに空白まで取得してしまうので)。
3.LEFT関数でA2の文字列の先頭からスペースの文字位置から1を引いた文字数分だけ表示します。
名の取得(C列)
=RIGHT(A2,LEN(A2)-SEARCH(“ ”,A2,1))
1.LEN関数でA2の文字列を取得し、SEARCH関数でA2に含まれるスペースの位置を左から検索した数値を引きます。
2.RIGHT関数でA2の文字列の末尾 (右端) から1で取得した数値(姓+全角スペース分)の文字数の文字を表示します。
こんな記事も書いています