エクセルでスペースで区切られた氏名から「姓」「名」を分ける(分割する)方法は簡単です。
今回は3つの方法を紹介いたしますが、一番のオススメはその三の方法です。
分割方法その1 文字列関数を利用する
スペースで区切られた「姓」と「名」を分割する方法は文字列関数を利用することによって可能です。
この方法は他サイトでもよく紹介されていますね。
詳しい文字列関数の解説は下記の記事をご覧ください。
「姓」を取り出す関数・数式
「姓」を取り出す関数・数式は下記のようになります。
=LEFT(A2,SEARCH(" ",A2)-1)
簡単ですね。「” ”(スペース)」の文字位置を「SEARCH関数」で取得し、「LEFT関数」で左からスペースの一つ前の文字までを抜き出しています。
「名」を取り出す関数・数式
「名」を取り出す関数・数式は、「RIGHT関数」と「LEN関数」、また「SEARCH関数」を利用します。
=RIGHT(A2,LEN(A2)-(SEARCH(" ",A2)))
「LEN関数」で文字列の長さを取得し、そこから「SEARCH関数」でスペースの位置までを引いた文字数を「RIGHT関数」で右から文字列「名」を取得します。
その後、セルをドラッグして数式をコピーすれば「姓」と「名」に分割が可能です。
分割方法その2 区切り位置を利用する
エクセルには、スペースやコンマ、ピリオドなどの記号をもとにテキストを分割する機能があります。
それが「区切り位置」機能です。まずA列全体を選択します。
その後、「データ」「区切り位置」をクリックします。
「区切り位置指定ウィザード」が開きます。まずは「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」を選択して、「次へ」をクリックします。
「区切り位置指定ウィザード」の2つ目の画面で「スペース」にチェックを入れます。
下図のように「姓」と「名」にうまく分割されていることを確認後、「次へ」をクリックします。
最後に、「列のデータ形式」を確認後、「完了」をクリックします。
「区切り位置」を利用した「姓」と「名」の分割方法ですが、すでに「姓名」が入っているA列が上書きされて「姓」のみになります。
そのため、下記のようなメッセージが表示されますが、構わず「OK」ボタンをクリックします。
すると、下図のようにA列に「姓」、B列に「名」が分割されます。
「区切り位置」を利用すると、非常にシンプルに「姓」と「名」を分割することが可能です。
分割する方法その3 「フラッシュフィル」を利用する これは超便利!
分割する方法その三、「フラッシュフィル」を利用する方法です。今回の記事のメインです。非常に便利な機能です。
まずは、一人目はキーボードで「姓」と「名」を入力します。
そして、2人目の「姓」のセルを選択します。
その後、「データ」「フラッシュフィル」をクリックします。
すると残り全員分の「姓」を取り出すことができました。
同様に、2人目の「名」のセルを選択し、「データ」「フラッシュフィル」をクリックします。
すると、残りの「名」もすべて取り出すことができました。一瞬です。
「フラッシュフィル」は、普通に「オートフィル」のメニューからも表示させることが可能です。
ただ100人を超える氏名データがある場合などは、「オートフィル」でセルを選択するのは大変です。
ところが今回のように、2人目のセルを選択することによって、残り何百人のデータであっても一瞬でリストの最後まで「姓」「名」を取り出すことが可能になります。非常に便利な機能ですね。
「フラッシュフィル」という機能は、非常に便利なのですが、なかなか知られていないエクセルの機能の一つです。2013から利用が可能になっています。
例えば、下図のように逆に分割されたセルでも、D列に手動で「姓名」を入力し、「フラッシュフィル」で逆に「姓名」をスペースを含んで結合も可能になります。
今回は比較的簡単な「スペースで区切られた」氏名を、「姓」と「名」に分割する方法のご紹介でしたが、スペースがない氏名を「姓」と「名」に分割することは結構な準備と数式が必要です。
また後日、「スペース」がない氏名を「姓」と「名」に分割する方法を紹介したいと思います。
コメント