• 公開日:

Excelで苗字と名前を分ける便利な関数

Excelを使ってデータを扱う際、氏名を苗字と名前に分ける必要がある場合があります。

この作業は手作業で行うと時間がかかる上、ミスも起こりやすいです。そこで、Excelにはこの作業を簡単に行うための便利な関数が用意されています。

本記事では、関数を使った苗字と名前の分け方を解説し、効率的にデータを整理する方法をご紹介します。

規則性があればフラッシュフィル

フラッシュフィルで氏名を分けることができた

上図は、フラッシュフィルで同じセル内にある姓と名を切り離し、姓を抽出した例です。

フラッシュフィルとは、データの法則性を見つけ出し自動的に入力をする機能です。

姓と名の間にスペースが挿入されている場合や、苗字が2文字の人のみの名簿処理の場合などは、フラッシュフィル機能を使うと簡単に苗字と名前を分けることができます。

エクセルのフラッシュフィルとは?フラッシュフィルの使い方

Excelで苗字と名前を分ける便利な関数

Excelで苗字と名前を分ける便利な関数をご紹介します。

苗字と名前にスペースがある場合

以下でご説明する方法は、上図のように苗字と名前の間にスペースがある場合の方法となります。

そのため、スペースを挿入していない場合は下記「苗字と名前の間にスペースを入れる」セクションを参考に操作を行い、苗字と名前の間にスペースを挿入しておきましょう。

関数を入力する

任意のセル(例:C2)に「=LEFT(B2,FIND(" ",B2)-1)」と入力し、Enterを押します。

FIND関数は、対象の文字列の中で探したい文字が最初に何文字目に現れるのかを検索できる関数です。

FIND関数の書式は「=FIND(検索文字列,対象,[開始位置])」となり、「B2」セルの「スペース(" ")」から「1(-1)」文字前の文字列が何番目に現れるかを返します(「=2(番目)」)。

ExcelのFIND関数の使い方|文字列が最初に現れる位置を検索

LEFT関数は、文字列の左端(先頭)から指定された数の文字を取り出すことができる関数です。

LEFT関数の書式は「=LEFT(文字列,[文字数])」となり、FIND関数で返した「2」文字分を左端から抽出します。

ExcelのLEFT関数の使い方|指定した数の文字を左/先頭から取り出す

関数を入力する

C2セルに苗字のみ抽出することができました。

任意のセル(例:D2)に「=MID(B2,FIND(" ",B2)+1,LEN(B2))」と入力し、Enterを押します。

数式については、以下の「Excelで苗字と名前を分ける便利な関数の数式について」セクションで詳しくご説明します。

オートフィル操作を行う

D2セルに名前のみ抽出することができました。

①関数を入力したセル(例:C2:D2)をドラッグして選択します。

セルの右下にマウスオーバーし、+マークを表示させて下方向にドラッグします。

苗字と名前を分けることができた

C列とD列に苗字と名前を抽出することができました。

Excelで苗字と名前を分ける便利な関数の数式について

数式の説明

上記「Excelで苗字と名前を分ける便利な関数」セクションで使用した「=MID(B2,FIND(" ",B2)+1,LEN(B2))」という数式についてご説明します。

「FIND(" ",B2)+1」でスペースの1文字後ろの位置を返し、MID関数で「開始位置」として指定します(=MID(B2,FIND(" ",B2)+1)。

さらに、MID関数の「文字数」は、LEN関数(LEN(B2))で文字数を返したものを指定します。

LEN関数は、文字列の文字数を返す関数で、書式は「=LEN(文字数)」となります。

ExcelのLEN関数の使い方|半角と全角の区別なく文字数を返す

MID関数は、指定の文字列から任意の位置より設定した文字数を抜き出す関数で、書式は、「=MID(文字列,開始位置,文字数)」となります。

ExcelのMID関数の使い方|任意の位置から指定された文字数を抽出

苗字と名前の間にスペースを入れる

苗字と名前の間にスペースがない

上図のように苗字と名前の間にスペースがない場合、見やすさに欠けたり、関数で苗字と名前を分ける作業が出来ない場合があります。

下記では、関数を使用して苗字と名前の間にスペースを入れる方法をご説明しています。

なお、苗字が2文字の場合を想定し、3文字目に空白を入れる方法となります。

関数を入力する

任意のセル(例:C2)に「=REPLACE(B2,3,," ")」と入力し、Enterを押します。

REPLACE(リプレイス)関数とは、対象の文字列の中で指定された文字数を新しい文字に置き換える関数です。

REPLACE関数の書式は、「=REPLACE(文字列,開始位置,文字数,置換文字列)」となります。

「B2」セルの「3」文字目の位置に、「スペース(" ")」を挿入するよう指定します。今回は置き換えではなくスペースを挿入したいため、「文字数」は指定しません。

例えば、苗字が1文字の場合は「開始位置」を「2」、苗字が3文字の場合は「4」を指定することになります。

ExcelのREPLACE関数の使い方|指定した文字数の文字を置換する

オートフィル操作を行う

関数を入力したセル(例:C2)を選択します。

セルの右下にマウスオーバーし、+マークを表示させて下方向にドラッグします。

修正する

C列に苗字と名前の間にスペースを挿入させた氏名が表示されます。

しかし、C10セルのように苗字が漢字3文字の場合、正しくない位置にスペースが挿入されてしまうため、セルを選択して修正します。

関数を入力する

C10セルの場合は文字列の4番目にスペースを入れたいため、「=REPLACE(B10,4,," ")」と入力し、Enterを押します。

コピーする

C10セルに正しくスペースが挿入されました。

C列は作業用となるため、以下の操作で表の正しい箇所に貼り付けします。

関数を入力したセル(例:C2:C12)をドラッグして選択し、「Ctrl」+「C」でコピーします。

値として貼り付けする

①氏名を表示させるセル(例:B2)を選択し、右クリックします。

②「貼り付けのオプション」から「値」を選択します。

苗字と名前の間にスペースを入れることができた

B列にスペースを挿入した氏名を貼り付けることができました。

数式バーを確認すると、値(文字列)として貼り付けられたことが分かります。