Excelに入力された氏名を『姓』と『名』(『苗字』と『名前』)に分けたいことってありますよね?
氏名の『姓』と『名』に半角や全角のスペースが挟まっていれば、簡単に分解することが可能です。
この記事では、氏名を『姓』と『名』(『苗字』と『名前』)に分ける3つの方法を紹介します。各見出しで1つずつ紹介していますので、使いやすそうな方法を利用してください。
この見出しで紹介する方法
- フラッシュフィルで『姓』と『名』を分ける ⇒ 1つ目の見出しへ
- 関数で『姓』と『名』を分ける ⇒ 2つ目の見出しへ
- 区切り位置で『姓』と『名』を分ける ⇒ 3つ目の見出しへ
フラッシュフィルで『姓』と『名』を分ける
フラッシュフィルとは、Excelが入力されたデータから、規則性を自動的に認識して実行してくれる機能です。
「フラッシュフィル」ボタンは下の図のように「データ」タブの「区切り位置」ボタンの右に配置されています。
ではさっそく、この『フラッシュフィル』を使って下の氏名リストを「姓」と「名」に分けてみましょう。『フラッシュフィル』は、「データ」タブからも利用出来ますが、ショートカットキーからでも簡単に利用出来ますので、それぞれの方法を下の見出しで紹介します。
「データ」タブの『フラッシュフィル』を利用
「データ」タブの「フラッシュフィル」のアイコンを使って、「姓」と「名」を分ける方法を紹介します。
手順1.一人目の『姓』を入力
一番上の氏名の『姓』をキーボード入力します。
この『左横の「山田 太郎」のセルの「山田」を入力』したことにより、エクセルが『左横のセルの半角スペースまでの文字を入力する』という入力規則を記録しました。
手順2.「フラッシュフィル」をクリック
C3セルからC10のどのセルでもいいので、アクティブセル(※)にした状態で、「データ」タブの「フラッシュフィル」を押します。
※現在入力対象となっているセルのことです。
手順3.『姓』が分けられたことを確認
「フラッシュフィル」により、C列に『姓』が入力されたことを確認します。
手順4.『名』も「フラッシュフィル」で分解
手順1~手順3と同じ作業を行って、D列に『名』をフラッシュフィルで入力します。
ショートカットキーで『フラッシュフィル』を利用
「データ」タブの「フラッシュフィル」を押さなくても、ショートカットキー「Ctrl+E」でフラッシュフィルを使うことが出来ます。
Ctrlキーを押しながらEキーを押すだけの簡単な操作です。それでは、実際に操作方法を紹介します。
手順1.一人目の『姓』を入力
一番上の氏名の『姓』をキーボード入力します。
この『左横の「山田 太郎」のセルの「山田」を入力』したことにより、エクセルが『左横のセルの半角スペースまでの文字を入力する』という入力規則を記録しました。
手順2.「フラッシュフィル」のショートカットキーを使う
C3セルからC10のどのセルでもいいので、アクティブセル(※)にした状態で、Ctrlキーを押しながらEキーを押します。(Ctrl+E)
手順3.『姓』が分けられたことを確認
「フラッシュフィル」により、C列に『姓』が入力されたことを確認します。
手順4.『名』も「フラッシュフィル」で分解
手順1~手順3と同じ作業を行って、D列に『名』をフラッシュフィルで入力します。
この便利なフラッシュフィルの使い方を以下のリンク記事で実例で紹介していますので、よかったら参考にしてみてください。
関数で『姓』と『名』を分ける
2つ目の分解する方法は、関数を使って『姓』と『名』を分けます。
『姓』は2文字の人も3文字の人もいるので、ポイントは『姓』と『名』の間の『(半角)/(全角)スペース』をFIND関数(ファインド)で見つけて、その前後を分解します。
FIND関数以外にも、RIGHT関数とLEFT関数とLEN関数を用います。
関数の使い方を簡単に紹介してから、『姓』と『名』を分ける手順を紹介します。
FIND関数、RIGHT関数、LEFT関数、LEN関数の使い方
FIND関数
まずFIND関数(ファインド)を紹介します。
FIND関数は、『指定した文字が何文字目にあるのか』を調べて数値で返す関数です。
=FIND(検索文字列, 対象, 開始位置)
下の図のように、「=FIND(“ ",B3,1)」と入力すると、B3セルにスペースが何文字目にあるかを調べることができます。FIND関数により”3”文字目にあることが分かります。
LEFT関数、RIGHT関数
LEFT関数(レフト)とRIGHT関数(ライト)を紹介します。
LEFT関数は『文字列の左側から指定した文字数を返す』ことができます。RIGHT関数は『文字列の右側から指定した文字数を返す』ことができます。
=LEFT(元の文字列,文字数)
=RIGHT(元の文字列,文字数)
下の図のように、「=LEFT(B4,2)」「=RIGHT(E4,2)」と入力すると、左から2文字の『山田』と、右から2文字の『太郎』を取り出すことが出来ます。
LEN関数
LEN関数(レン)は、『句読点やスペースや半角文字や全角文字を1文字としてカウント』する関数です。
LEN関数の構文は下のとおりです。
=LEN(文字列)
引数の”文字列”には、直接文字列を入力するか、セル番号(A2等)を指定します。
下の図のように、”4月は春だ。”という文字列をLEN関数で文字数をカウントすると、6文字となります。
『姓』と『名』を分ける手順
それでは、FIND関数、RIGHT関数、LEFT関数、LEN関数を使って『姓』と『名』を分ける手順を紹介します。
手順1.『姓』を分ける関数を挿入
まず『姓』を分けるために、以下の関数を氏名の横のセルに挿入します。FIND関数の引数に使うスペースを半角/全角を間違わないように注意してください。
=LEFT(B3, FIND(" ", B3)-1)
手順2.『名』を分ける関数を挿入
次に『名』を分けるために、以下の関数を『姓』の横のセルに挿入します。FIND関数の引数に使うスペースを半角/全角を間違わないように注意してください。
=RIGHT(B3, LEN(B3)-FIND(" ", B3))
手順3.下のセルに関数をコピペ
手順1、2で作成した関数を下のセルにコピペし、すべての氏名リストを『姓』と『名』を分けます。以上で終了です。
LEN関数を使った文字数のカウント方法は、以下のリンク記事で紹介していますので参考にしてみてください。
区切り位置で『姓』と『名』を分ける
【区切り位置】機能を使って、スペースを区切り文字として利用して『姓』と『名』を分ける方法を紹介します。
この方法は、『姓』と『名』の間に”スペース”があるため利用出来る方法です。
手順1.列番号を選択して『区切り位置』をクリック
氏名が入力されたセルを選択して、「データ」タブの「区切り位置」をクリックします。
手順2.「元のデータの形式」を選択
「区切り位置指定ウィザード-1/3」画面で、元のデータの形式を「コンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」にチェックを入れて、「次へ」をクリックします。
手順3.「区切り文字」を選択
「区切り位置指定ウィザード-2/3」画面で区切り文字を選択します。データは、「スペース」で区切られていますので、「スペース」にチェックを入れて「次へ」をクリックします。
区切り文字の「タブ」は画面を開いた段階からチェックが入っていますので、そのままチェックを入れておいて問題ありません。
手順4.「データ形式」を選択
「区切り位置指定ウィザード-3/3」画面で取り込む文字を「標準」か「文字列」か「日付」にするかを設定します。
数値の先頭が0で始まるデータは「標準」で取り込むと0が消えてしまいますが、今回は氏名なので、データ形式は「標準」のまま「完了」をクリックします。
手順5.「姓」と「名」が分かれたことを確認
下の図のように、氏名が「姓」と「名」が分かれたことを確認します。
手順6.体裁を整える(終了)
罫線や列タイトルや列幅を整えて終了です。
「区切り位置」を使ったデータの分割方法は、以下のリンク記事で紹介していますので参考にしてみてください。