Introduction
Ver. all 2013 2016 2019 365
エクセルで、1つのセルに名前が入っている場合、姓と名に分ける方法です。
今回は関数を使用しますが、[区切り位置]機能を使用すると、もっと簡単に分ける事ができます。
関数を使用して分ける必要がない場合は、下のリンク先をご覧ください。
逆に、分割された氏名を、一つのセルにまとめる方法は、下のリンク先をご覧ください。
では、話を戻します。
今回の方法では、姓と名の間に、スペースなどの決まった文字が入っている必要があります。
「猫原白美」のように、氏名の間に何も区切りとなるものが無い場合は判別しようがないのであきらめるしかありません。
- 「猫原 白美」・・・全角スペース
- 「猫原 白美」・・・半角スペース
- 「猫原・白美」・・・中黒
のように、氏名の間に区別となる文字がある場合だけの方法になります。
今回は、氏名の間に「全角スペース」が入ったデータで試します。半角スペースなどの場合は、その箇所を変更して試してください。
また、関数を作成するにはネストの知識(関数を入れ子で複数使用する)が必要です。
ネストに関して不安な方は、下のリンク先をご覧ください。
とにかく急ぐ方は、ざっと説明を読んで、最後の式を参考に、手入力していただくのが早いかもしれません。
関数を複数使うにゃ
苗字を抜き出す方法
では、まず苗字を抜き出してみます。
手順は、
- スペースの場所が何文字目か探す・・・FIND関数
- スペース分の1文字を引き算する・・・引き算
- 左から②文字分の文字を抜き出す・・・LEFT関数
このようになります。
突然言葉で言われても意味が分からないと思います。
下の図をご覧ください。
まず、氏名の中のスペース(空白)が左から何文字目かを探します。この場合は「猫田」の次なので3文字目になりますね。
そのまま3文字抜き出すと、スペースも含まれてしまうので、スペース分の1を引いてあげます。
これで「猫田」の2文字を関数で抜き出せるようになります。
何をしようとしているか理解していないと操作も覚えることができません。「なるほど!」と思うまで上の図をながめてください。
では、実際にやってみましょう。
まず使用するのがLEFT関数。
LEFT関数・・・文字列の先頭(左)から指定された数の文字を返す
LEFT(文字列,文字数[省略可])
- 文字列・・・取り出す文字を含むセルを指定
- 文字数・・・取り出す文字数を指定
苗字を取り出したいセルをクリックして[関数の挿入]ボタンをクリック。
LEFT関数を選びます。
[文字列]の場所に、文字を取り出すセル「B2」を選択して、[文字数]の場所をクリック。
この場所に、全角スペースが何番目にあるか探すため、FIND関数をネストする必要があります。
左上の▼をクリックして、一番下の[その他の関数]を選択。
FIND関数を選びます。
FIND関数・・・指定した文字列が、指定した文字列(セル)の左から何番目にあるかを返す
FIND(検索文字列,対象,開始位置[省略可])
- 文字列・・・検索する文字列を指定
- 文字数・・・検索する文字列を含む文字列(セル)を指定
- 開始位置・・・検索を開始する位置を数字で指定(省略した場合は先頭からになる)
関数の作成画面がFIND関数に切り替わります。上の数式バーを見ると、LEFT関数の中にFIND関数が入っているのが分かります。
FIND関数の引数は、[検索文字列]に全角スペースを入力します。
次の[対象]の場所をクリックすると、入力した全角スペースが「”」で自動で囲まれるはずです。
※文字を関数内で使用する場合は「”」で囲む必要があります。
[対象]には「B2」を選択。
さて、またLEFT関数に戻らなければなりません。
数式バーの「LEFT」の場所をクリックしましょう。
関数の入力画面がLEFT関数に戻ります。
[文字数]の場所の最後をクリックし、「-1」と入力します。
これで関数完成。[OK]を押せば苗字だけ抜き出されます。
ネストを使用するので、慣れていないとマウスの操作で作成するのは難しいかもしれません。
それほど長い式ではないので直接入力しても良いですね。その場合は、
=LEFT(B2,FIND(" ",B2)-1)
となります。
※セル番地の「B2」を、使用している表に合わせて変更してください
名前を抜き出す方法
名前を抜き出す手順は、
- 全体の文字数を数える・・・LEN関数
- スペースの場所が何文字目か探す・・・FIND関数
- ①から②を引き算する
- 右から③文字分の文字を抜き出す・・・RIGHT関数
このようになります。
下の図をご覧ください。
まず、氏名の中の全文字数をLEN関数を使用して数えます。「猫田 基佑」なので、間のスペースも含めて5文字になりますね。
次に、姓と名の間にあるスペースが左から何文字目にあるかをFIND関数を使用して探します。この場合は3文字目ですね。
全体の5文字から、スペースのある3文字を引き算すると、名前の部分は2文字あることが分かります。
その2文字をRIGHT関数で抜き出せばOK.
何をしようとしているか理解していないと操作も覚えることができません。「なるほど!」と思うまで上の図をながめてください。
では、実際にやってみましょう。
まず使用するのがRIGHT関数。
RIGHT関数・・・文字列の最後(右)から指定された数の文字を返す
RIGHT(文字列,文字数[省略可])
- 文字列・・・取り出す文字を含むセルを指定
- 文字数・・・取り出す文字数を指定
名前を取り出したいセルをクリックして[関数の挿入]ボタンをクリック。
RIGHT関数を選びます。
[文字列]の場所に、文字を取り出すセル「B2」を選択して、[文字数]の場所をクリック。
この場所に今度はLEN関数をネストする必要があります。LEN関数は文字数を数えることができます。
左上の▼をクリックして、一番下の[その他の関数]を選択。
LEN関数を選びます。
LEN関数・・・文字列の文字数を返す
LEN(文字列)
- 文字列・・・文字数を調べるセルを指定
関数の作成画面がLEN関数に切り替わります。上の数式バーを見ると、RIGHT関数の中にLEN関数が入っているのが分かります。
LEN関数の[文字列]には「B2」を選択します。
さて、RIGHT関数に戻らなければなりません。
数式バーの「RIGHT」の場所をクリックしましょう。
関数の入力画面がRIGHT関数に戻ります。
[文字数]の場所の最後をクリックし、「-」を入力します。
ここで、今度はFIND関数をネストしなければなりません。
左上の▼をクリックして、一番下の[その他の関数]を選択。
FIND関数を選びます。
FIND関数・・・指定した文字列が、指定した文字列(セル)の左から何番目にあるかを返す
FIND(検索文字列,対象,開始位置[省略可])
- 文字列・・・検索する文字列を指定
- 文字数・・・検索する文字列を含む文字列(セル)を指定
- 開始位置・・・検索を開始する位置を数字で指定(省略した場合は先頭からになる)
順調に式ができているか数式バーをチェックします。
FIND関数の引数は、[検索文字列]に全角スペースを入力します。
[対象]の場所をクリックすると、入力した全角スペースが「”」で囲まれますね。
※文字を関数内で使用する場合は「”」で囲む必要があります。
[対象]には「B2」を選択。
これで関数完成。[OK]を押せば名前だけ抜き出されます。
ネストを使用するので、慣れていないとマウスの操作で作成するのは難しいかもしれません。
それほど長い式ではないので直接入力しても良いですね。その場合は、
=RIGHT(B2,LEN(B2)-FIND(" ",B2))
となります。
※セル番地の「B2」を、使用している表に合わせて変更してください
まとめ
関数を複数使用するので、操作が難しくなります。
直接手入力した方が分かり易いかもしれませんね。
それぞれの関数は有名なものなので、この機会に覚えてしまうのがお勧めです。
関数を入れるのは大変だけど、できると気持ちいいにゃー