関数で氏名を苗字と名前に分ける

解説記事内の画像はExcel 2019のものですが、操作方法は下記のバージョンで同じです。
  • Excel 2019, 2016, 2013, 2010
  • Microsoft 365
Microsoft 365は、バージョン2002と、バージョン2008で動作確認しています。

スポンサーリンク

「氏名」を「苗字(姓)」と「名前(名)」に分ける セルに入力されている「氏名」を、「苗字(姓)」と「名前(名)」に分けたいといった場合、このサイトでは区切り位置を使う方法と、このページでご紹介する関数を使う方法をおすすめしています。

これら2つの方法には、どちらにも長所と短所があります。

区切り位置を使う場合】

  • 操作が簡単
  • 完成後も、氏名を追加したり変更する度に、操作を行う必要がある

【関数を使う場合】

  • 日頃から関数に慣れていないと、考え方や操作がやや難しい
  • 氏名を追加したり変更しても、自動で処理をしてくれる、または前の数式をコピーするだけ

どちらの方法を使うのかは、完全にお好みです。
このページでは、関数を使って、氏名を苗字と名前に分ける方法をご紹介します!
関数の中に、関数を入れ込むという操作となりますので、関数の入れ子に初めてチャレンジされる方は、予め「関数の中に関数!関数の入れ子」をご覧いただくことを強くおすすめします。
それでは早速、スタートしていきましょう!

スポンサーリンク

苗字と名前の境目「スペース」が何文字目かを調べるのが最重要ポイント

氏名を、苗字と名前に分けるときの大前提が、

苗字も名前も、人によって文字数が違う

ということ。
どの人も文字数が同じであれば、「氏名の左から2文字分を取り出してください」「氏名の右から3文字分を取り出してください」と、具体的な文字数を指定すればいいだけで簡単なのですが、実際は、人によって文字数が違うので、それぞれの氏名の

  • 苗字の文字数を調べる
  • 名前の文字数を調べる

という処理が必要になります。

苗字と名前の境目に入力されているスペース そして、苗字の文字数を調べる、名前の文字数を調べるためには、

どの氏名にも、苗字と名前の境目に、共通の文字が入力されている

ことが絶対条件。
一般的にはスペース(空白)が使われることが多いので、苗字と名前の境目に入力されているスペースが、最重要ポイントとなります。
Excel様は人間じゃないので、人間界にはこういう苗字とか、こういう名前がある・・・的な経験値がないため、これが苗字と名前の境目なんだと認識できるものが、各氏名のセルに共通で入力されていないと、さすがのExcelも処理ができないんです。

スペースが何文字目にあるのかを調べる というわけで、苗字と名前の境目としてスペースが入力されてさえいれば、そのスペースが何文字目にあるのかを調べることで、そこから苗字と名前の文字数を割り出し、氏名からその文字数分を取り出す処理に発展させることができます。

B2番地の中でスペースが何文字目にあるのかを調べる 「B2番地の中で、スペースが、何文字目にあるのか」を知りたい場合、指定した文字を探し出し、それが何文字目にあるのかを表示するFIND関数を使います。

FIND関数の引数 FIND関数は、「この文字は、このセルの中で、何文字目にありますか」という指定になるので、

=FIND(" ",B2) 「スペースは、B2番地の中で、何文字目にありますか」という数式になります。

テーブル化している場合エクセルで住所録作成」のように、既にテーブル化した表に数式を設定する場合は、数式の意味が分かりやすい表示になります
数式中でB2番地のようなデータが入っているセルを指定すると、その数式にはセル番地が表示されるのではなく、そのセルが属する項目の見出し名が、

=FIND(" ",[@氏名]) @マークと括弧付きで表示されるので、数式はこうなります。

このように、FIND関数で、

苗字と名前の境目にあるスペースが、何文字目にあるか

を調べることが、氏名から苗字を取り出す、氏名から名前を取り出すのどちらでも、キーポイントとなってきます!

スポンサーリンク

[考え方]氏名から苗字を取り出す

スペースが何文字目にあるのかを調べる 氏名から苗字を取り出す際のキーポイントは、前の章でご紹介した、苗字と名前の境目にあるスペースが何文字目なのかを調べること。

B2番地から苗字だけを取り出す B2番地の「中井 広正」さんの場合、

スペースは、B2番地の中で、何文字目にありますか FIND関数で「スペースは、B2番地の中で、何文字目にありますか」と指定することで調べられます。

苗字の文字数はスペースの文字位置から1を引いた数字 そして、スペースが何文字目にあるのかを調べたら、その数字から「スペース」の1文字分を引いた数字が、まさしく苗字の文字数。

B2番地から苗字だけを取り出す というわけで、スペースの文字位置を調べるFIND関数の数式の後ろに、「1」を引く数式を付け足します。
これでB2番地の苗字の文字数を調べることができます。
でも、これだけでは、単純に苗字の文字数を調べているだけなので、更に、この文字数分だけ、

苗字の文字数分だけ、氏名の左端から取り出す 氏名の左端から文字を取り出す処理を加えます。

LEFT関数の引数 指定した文字数分だけ左端から取り出すのは、LEFT関数の役目。
LEFT関数は、「このセルの文字を、何文字分だけ、左端から取り出してね」と指定をするので、

LEFT関数の引数 「B2の文字を、苗字の文字数分だけ、左端から取り出してね」と指定することになります。
そして、苗字の文字数は、FIND関数で調べたスペースの文字位置から「1」を引いた数ですから、引数[文字数]に、この数式を当てはめると、

苗字の文字数分だけ、氏名の左端から取り出す

B2番地の文字を、FIND関数で求めたスペースの位置から1を引いた苗字の文字数分だけ、左端から取り出してね

と指定することで、B2番地から苗字だけを取り出すことができます。

=LEFT(B2,FIND(" ",B2)-1)

[数式の設定]氏名から苗字を取り出す

苗字の文字数分だけ、氏名の左端から取り出す 前の章でご説明した考え方のとおり、D2番地に、B2番地の氏名から、苗字を取り出すには、

=LEFT(B2,FIND(" ",B2)-1)

の数式を、D2番地に入力すれば良いわけですが、今回はダイアログボックスを使って関数を設定する方法でご紹介していきます!

苗字の文字数分だけ、氏名の左端から取り出す 答えを表示させたいD2番地を選択し、[関数の挿入]ボタンをクリックします。

[関数の挿入]ダイアログボックスでLEFT関数を選ぶ 関数を指定するためのダイアログボックスが表示されます。
この時、LEFT関数を選ぶべきなのか、FIND関数を選ぶべきなのか悩んだりしますが、ポイントは「結果として表示させたい関数を先に選ぶ」です。
答えとして表示させたいのは、氏名のうち、苗字を左端から取り出した結果なので、左端から取り出すLEFT関数を選びます。
[関数の分類]で「すべて表示」を選択し、[関数名]欄で「LEFT」を選択。
[OK]ボタンをクリックすると、

LEFT関数の引数[文字列] LEFT関数を設定するダイアログボックスが表示されます。
まずは[文字列]欄から。
[文字列]欄には、どのセルの文字を取り出したいのか、そのセルを指定します。
[文字列]欄に文字カーソルがある状態で、

[文字列]欄に「B2」を指定 今回は、B2番地の文字を取り出したいので、B2番地をクリックすると、[文字列]欄に「B2」と指定することができました。

苗字の文字数分だけ、氏名の左端から取り出す この時、「エクセルで住所録作成」でご紹介しているような、テーブルに変換した表のセルに、数式を設定している場合、[文字列]欄には、「B2」のようなセル番地ではなく、そのセルが属する見出し名が、@マークと括弧つきで表示されます。
ここで注意するのは、クリックで指定するセルは、B2番地の「中井 広正」という実際のデータが入力されているセルだということ。
その上にある見出し、B1番地の「氏名」と入力されているセルをクリックしてはいけません。
今はB2番地の「中井 広正」のセルから文字を取り出してくれ、と指定したいので、クリックするのは、あくまでもB2番地。
その結果、クリックしたら、B2番地が属する、B1番地の「氏名」という見出し名が、@マークと括弧つきで表示される、ということです。

LEFT関数の引数[文字数] 次は[文字数]欄を指定するので、[文字数]欄でクリックするか、キーボードの[Tab]キーを押して、[文字数]欄に文字カーソルを移します。
この欄には、左端から何文字分抜き出したいのか、その文字数を指定します。
今回は、苗字の文字数を指定したいわけですが、

LEFT関数の引数[文字数][考え方]氏名から苗字を取り出す」の章でご紹介したとおり、FIND関数で求めたスペースの文字位置から1を引いた数が、苗字の文字数となるので、

LEFT関数の引数[文字数]に関数を入れ込む この[文字数]欄には、まずはFIND関数を入れ込んでいきます。
[文字数]欄に文字カーソルがあることを確認し、数式バーの左端にある[▼]をクリックすると、

最近使った関数の一覧 最近使った関数が一覧表示されます。
この一覧の中に「FIND」があれば、クリックで選択します。
(この一覧の中に「FIND」があった方も、このまま順に読み進めてください。)
もし、一覧の中に「FIND」がない場合には、単純に最近使っていないというだけなので、一覧の一番下にある「その他の関数」をクリックで選択すると、

「FIND」を選択 関数を選択するダイアログボックスが表示されるので、この一覧から「FIND」を選択し、[OK]ボタンをクリックします。

ダイアログボックスがFIND関数用のものに変わった 関数の設定をするダイアログボックスが、LEFT関数用のものから、FIND関数用のものに変わり、数式バーに表示されている数式も、LEFT関数の中にFIND関数が入っていることが分かります。

FIND関数の引数[検索文字列]に全角スペースを指定 それではFIND関数の設定を行っていきましょう。
[検索文字列]には、何文字目にあるかを知りたい文字は何なのか、その文字を指定します。
今回は「スペース」が何文字目にあるのかを知りたいので、スペースを入力します。
この時、探したい文字が全角のスペースなら全角で、半角のスペースなら半角で、スペースを入力します。
人間の目には全角の文字も半角の文字も似たように見えますが、Excelさんにとっては全角と半角の文字はまったく違う文字だからです。
今回の例では全角スペースを探したいので、全角スペースを入力します。
日本語入力がONの状態でスペースを入力すれば、全角で入力できます。
そしてExcelでは、「数式内で「文字」を指定するときには、その前後をダブルクォーテーションで囲む」がお約束です。
スペースも「空白という文字」ですから、スペースの前後をダブルクォーテーションで囲みます
しかも、「数式内で使う記号は半角」というのもお約束なので、ダブルクォーテーションは半角で入力します。
日本語入力がOFFの状態で入力すれば、半角で入力できます。
そうです、スペースは全角、その前後を囲むダブルクォーテーションは半角で入力です。

FIND関数の引数[対象] 次は[対象]欄を指定するので、[対象]欄でクリックするか、キーボードの[Tab]キーを押して、[対象]欄に文字カーソルを移します。
この[対象]欄には、指定した全角スペースを、どのセルから探せばいいのかを指定します。
[対象]欄に文字カーソルがあることを確認し、

[対象]欄に「B2」を指定 今回は、B2番地の中で全角スペースを探したいので、B2番地をクリックすると、[対象]欄に「B2」と指定することができました。

[対象]欄に「B2」を指定すると「氏名」という項目名が設定される この時も、「エクセルで住所録作成」でご紹介しているような、テーブルに変換した表のセルに、数式を設定している場合、[文字列]欄には、「B2」のようなセル番地ではなく、そのセルが属する見出し名が、@マークと括弧つきで表示されます。
ここで注意するのは、クリックで指定するセルは、B2番地の「中井 広正」という実際のデータが入力されているセルだということ。
その上にある見出し、B1番地の「氏名」と入力されているセルをクリックしてはいけません。
今はB2番地の「中井 広正」の全角スペースの位置を調べたいから、クリックで指定するのは、あくまでもB2番地。
その結果、クリックしたら、B2番地が属する、B1番地の「氏名」という見出し名が、@マークと括弧つきで表示される、ということです。

FIND関数の引数[開始位置]は省略 最後の[開始位置]欄には、前の[対象]で指定したセルの中で、何文字目から探せばいいのかを指定するのですが、省略すると1文字目から探してくれるので、今回は省略します。

現在はFIND関数の内部を見ている さぁ、これで、FIND関数の設定は終わりましたが、FIND関数で割り出した文字位置から「1」を引く、という操作が残っています
今はFIND関数自体、つまりFIND関数の内部を見ている状態なので、FIND関数の数式全体を見るため、1段階上、つまり親の層を見ていきましょう。
このFIND関数は、LEFT関数の中に入っているわけですから、LEFT関数が親。

数式バーで「LEFT」の文字をクリック 数式バーに表示されている数式で、「LEFT」の文字の部分をクリックすると、ダイアログボックスがFIND関数のものからLEFT関数のものに切り替わりました!

LEFT関数の[文字数]に文字カーソルを入れる ここで引数[文字数]に注目!
先ほど設定したFIND関数の数式全体を見渡せます。
この、FIND関数で調べたスペースの文字位置から、「1」を引きたいので、[文字数]欄のFIND関数の数式の後ろでクリックして文字カーソルを入れ、

LEFT関数の[文字数]に指定したFIND関数の数式の後ろに「-1」と入力 「-1」と入力します。
数式のお作法なので、「-1」は半角で入力します。
日本語入力OFFの状態で入力すれば、半角で入力できます。

LEFT関数の[文字数]に指定したFIND関数の数式の後ろに「-1」と入力エクセルで住所録作成」でご紹介しているような、テーブルに変換した表のセルに、数式を入力している場合も同じです。
FIND関数の数式の後ろに「-1」と入力します。
数式のお作法なので、「-1」は半角で入力します。
日本語入力OFFの状態で入力すれば、半角で入力できます。

[関数の引数]ダイアログボックスの[OK]ボタンをクリック これで、すべての引数の設定が終わったので、ダイアログボックス右下の[OK]ボタンをクリックします。

氏名から苗字だけを取り出すことができた 氏名から苗字だけを取り出すことができました!

テーブル化している場合は、自動的に残りのセルにも数式が入力されるエクセルで住所録作成」でご紹介しているような、テーブルに変換した表のセルに、数式を設定した場合には、先頭のセルに数式を設定するだけで、自動的に残りのセルにも数式が設定されます。

オートフィルで数式をコピー テーブルになっていない表では、残りのセルが自動で埋まることもないので、数式が設定されているD2番地を選択した状態でオートフィルし、数式をコピーします。

すべての氏名から苗字だけを取り出すことができた すべての氏名から苗字を取り出すことができました!

スポンサーリンク

[考え方]氏名から名前を取り出す

氏名全体の文字数 氏名から、下の名前を取り出すときに必要なのは、まず、氏名全体の文字数

B2番地から下の名前だけを取り出す セルに入力されている文字数を調べるのはLEN関数の役目。
B2番地に入力されている文字の文字数は、

=LEN(B2) LEN関数で「B2番地の、文字数を数えてね」と指定することで調べられます。

スペースが何文字目にあるのかを調べる 次に必要なのは、「苗字と名前の境目「スペース」が何文字目かを調べるのが最重要ポイント」の章でご紹介した、苗字と名前の境目にあるスペースが何文字目なのかを調べること。

B2番地から下の名前だけを取り出す B2番地でのスペースの文字位置を知りたい場合、

スペースは、B2番地の中で、何文字目にありますか FIND関数で「スペースは、B2番地の中で、何文字目にありますか」と指定することで調べられます。
そして、このFIND関数で調べたスペースの文字位置は、

スペースが何文字目にあるのかを調べる 苗字とスペースを合わせた文字数と同じことなので、このスペースまでの文字数を、

スペースまでの文字数を、氏名全体の文字数から引く 氏名全体の文字数から引けば、下の名前の文字数を調べることができます。

=LEN(B2)-FIND(" ",B2) LEN関数で調べたB2番地にある氏名全体の文字数から、FIND関数で調べた苗字とスペースまでの文字数を引くわけですね。
でも、これだけでは、単純に下の名前の文字数を調べているだけなので、更に、この文字数分だけ、

氏名の右端から下の名前の文字数分だけ取り出す 氏名の右端から取り出す処理を加えます。

このセルの文字を、何文字分だけ、右端から取り出してね 指定した文字数分だけ右端から取り出すのは、RIGHT関数の役目。
RIGHT関数は、「このセルの文字を、何文字分だけ、右端から取り出してね」と指定をするので、

RIGHT関数の引数 「B2の文字を、下の名前の文字数分だけ、右端から取り出してね」と指定することになります。
そして、下の名前の文字数は、LEN関数で調べた氏名全体の文字数から、FIND関数で調べた苗字とスペースまでの文字数を引いた数ですから、引数[文字数]に、この数式を当てはめると、

=RIGHT(B2,LEN(B2)-FIND(" ",B2))

B2番地の文字を、LEN関数で調べた氏名全体の文字数から、FIND関数で調べた苗字とスペースまでの文字数を引いた数だけ、右端から取り出してね

と指定することで、B2番地から下の名前だけを取り出すことができます。

=RIGHT(B2,LEN(B2)-FIND(" ",B2))

スポンサーリンク

[数式の設定]氏名から名前を取り出す

苗字の文字数分だけ、氏名の左端から取り出す 前の章でご説明した考え方のとおり、E2番地に、B2番地の氏名から、下の名前を取り出すには、

=RIGHT(B2,LEN(B2)-FIND(" ",B2))

の数式を、E2番地に入力すれば良いわけですが、今回はダイアログボックスを使って関数を設定する方法でご紹介していきます!

E2番地を選択し、[関数の挿入]ボタンをクリック 答えを表示させたいE2番地を選択し、[関数の挿入]ボタンをクリックします。

「RIGHT」を選択 関数を指定するためのダイアログボックスが表示されます。
ここで最初に選択するのは、RIGHT関数なのか、LEN関数なのか、それともFIND関数なのか悩んだりしますが、ポイントは「結果として表示させたい関数を先に選ぶ」です。
答えとして表示させたいのは、氏名のうち、下の名前を右端から取り出したものなので、右端から取り出すRIGHT関数を選びます。
[関数の分類]で「すべて表示」を選択し、[関数名]欄で「RIGHT」を選択。
[OK]ボタンをクリックします。

RIGHT関数の引数[文字列] RIGHT関数を設定するダイアログボックスが表示されました。
まずは[文字列]欄から。
[文字列]欄に指定するのは、どのセルから文字を取り出したいのか。
[文字列]欄に文字カーソルがある状態で、

[文字列]欄に「B2」と指定 今回は、B2番地から下の名前だけを取り出したいわけですから、B2番地をクリックすると、[文字列]欄に「B2」と指定することができました!

[文字列]欄に「B2」を指定すると「氏名」という項目名が設定される この時、「エクセルで住所録作成」でご紹介しているような、テーブルに変換した表のセルに、数式を設定している場合、[文字列]欄には、「B2」のようなセル番地ではなく、そのセルが属する見出し名が、@マークと括弧つきで表示されます。
ここで注意するのは、クリックするセルは、B2番地の「中井 広正」という実際のデータが入力されているセルだということ。
その上にある見出し、B1番地の「氏名」と入力されているセルをクリックしてはいけません。
今はB2番地の「中井 広正」のセルから文字を取り出してくれ、と指定したいので、クリックするのは、あくまでもB2番地。
その結果、クリックしたら、B2番地が属するB1番地の「氏名」という見出し名が、@マークと括弧つきで表示される、ということです。

RIGHT関数の引数[文字数] 次は[文字数]欄の設定をしたいので、[文字数]欄でクリックするか、キーボードの[Tab]キーを押して、[文字数]欄に文字カーソルを移します。
この欄には、右端から何文字分抜き出したいのか、その文字数を指定します。
今回は、下の名前の文字数を指定したいわけですが、「[考え方]氏名から名前を取り出す」の章でご紹介したとおり、名前の文字数は人によって違うため、「名前の文字数を調べる」という処理が必要でした。

RIGHT関数の引数[文字数] 名前の文字数は、LEN関数で求めた「氏名」全体の文字数から、FIND関数で求めた苗字とスペースまでの文字数を引いて求めることになるので、まずは最初のLEN関数の部分を、

[文字列]欄に「B2」と指定 [文字数]欄に設定していきましょう。
[文字数]欄に文字カーソルがあることを確認し、数式バーの左端にある[▼]をクリックすると、

最近使った関数一覧 最近使った関数が一覧表示されます。
この一覧の中に「LEN」があれば、クリックで選択します。
(この一覧の中に「LEN」があった方もこのまま読み進めてください。)
もし、一覧の中に「LEN」がない場合には、単純に最近使っていないというだけなので、一覧の一番下にある「その他の関数」をクリックで選択すると、

[関数の挿入]ダイアログボックスで「LEN」を選択 関数を選択するダイアログボックスが表示されるので、この一覧から「LEN」を選択し、[OK]ボタンをクリックします。

[関数の引数]ダイアログボックスがLEN関数のものに変わった 関数を設定するダイアログボックスが、RIGHT関数のものから、LEN関数のものに変わりました!
数式バーに表示されている数式も、RIGHT関数の中にLEN関数が入っていることが分かります。

RIGHT関数の引数[文字数] それではLEN関数の設定をしていきましょう。
[文字列]欄には、どのセルの文字数を数えたいのか、そのセルを指定します。
[文字列]欄に文字カーソルがある状態で、

LEN関数の[文字列]に「B2」と指定 今回は、B2番地の文字数を知りたいわけですから、B2番地をクリックすると、[文字列]欄に「B2」と指定することができました!

[文字列]欄に「B2」を指定すると「氏名」という項目名が設定される この時も、「エクセルで住所録作成」でご紹介しているような、テーブルに変換した表のセルに、数式を設定している場合、[文字列]欄には、「B2」のようなセル番地ではなく、そのセルが属する見出し名が、@マークと括弧つきで表示されます。
ここでも注意するのは、クリックするセルは、B2番地の「中井 広正」という実際のデータが入力されているセルだということ。
その上にある見出し、B1番地の「氏名」と入力されているセルをクリックしてはいけません。
今はB2番地の「中井 広正」の文字数を調べたいから、クリックで指定するのは、あくまでもB2番地。
その結果、クリックしたら、B2番地が属する、B1番地の「氏名」という見出し名が、@マークと括弧つきで表示される、ということです。

引き算とFIND関数の設定が残っている これでLEN関数の設定は終わりましたが、LEN関数で調べた氏名全体の文字数から、FIND関数で求めた苗字とスペースまでの文字数を引く、という操作が残っています。

今はLEN関数の内部を見ている状態 今はLEN関数の内部を見ている状態なので、

数式バーに表示されている数式で、「RIGHT」の文字をクリック LEN関数の数式全体を見渡せるようにするため、1段階上、つまり親の層を見ていきましょう。
このLEN関数は、RIGHT関数の中に入っているわけですから、RIGHT関数が親。
数式バーに表示されている数式で、「RIGHT」の文字の部分をクリックすると、ダイアログボックスがLEN関数のものからRIGHT関数のものに切り替わりました!

RIGHT関数の引数[文字数]にLEN関数が入っている RIGHT関数の引数[文字数]を見ると、先ほど設定したLEN関数の数式全体を見渡せます。

テーブル化している場合の、RIGHT関数の引数[文字数]にLEN関数が入った状態エクセルで住所録作成」でご紹介しているような、テーブルに変換した表のセルに、数式を設定している場合も、同じようにRIGHT関数の引数[文字数]を見ると、先ほど設定したLEN関数の数式全体を見渡せます。

RIGHT関数の引数[文字数]にLEN関数が入っている この、LEN関数で求めた氏名全体の文字数から、

引き算とFIND関数の設定が残っている 名前の文字数を引きたいので、「引く」をあらわす「−(マイナス)」を入力していきましょう。

RIGHT関数の引数[文字数]の一番後ろに文字カーソルを入れる [文字数]欄にある、LEN関数の数式の後ろでクリックして、文字カーソルを入れ、

RIGHT関数の引数[文字数]の一番後ろに「−」(マイナス)を入力 「−」(マイナス)を入力します。
「−」(マイナス)は数式で使う記号なので、半角で入力します。
日本語入力OFFの状態で入力すれば、半角で入力できます。

テーブル化している場合も、同じようにRIGHT関数の引数[文字数]の一番後ろに「−」(マイナス)を入力 この時も、「エクセルで住所録作成」でご紹介しているような、テーブルに変換した表のセルに、数式を設定している場合も、同じようにLEN関数の数式の後ろに「−」(マイナス)を入力します。
「−」(マイナス)は数式で使う記号なので、半角で入力します。
日本語入力OFFの状態で入力すれば、半角で入力できます。

FIND関数の設定が残っている 次は、何を引くかの設定。
FIND関数で求めた苗字とスペースまでの文字数を引きたいので、「−(マイナス)」の後ろに、FIND関数の数式を入れ込んでいきましょう。

数式バーの左端にある[▼]をクリック 「−(マイナス)」の後ろに、文字カーソルがあることを確認し、数式バーの左端にある[▼]をクリックすると、

最近使った関数一覧から「FIND」を選択 最近使った関数が一覧表示されます。
苗字を取り出したときに既にFIND関数を使っているので、この一覧に「FIND」が表示されているはず。
というわけで、一覧から「FIND」をクリックで選択します。
(もし、一覧の中に「FIND」が無い方は、一覧の一番下にある「その他の関数」をクリックで選択し、次に表示されたダイアログボックスで「FIND」を選択してください。)

[関数の引数]ダイアログボックスがFIND関数のものに変わった 関数を設定するダイアログボックスが、RIGHT関数のものから、FIND関数のものに切り替わりました!
数式バーに表示されている数式を見ても、文字数を求めるためにここまで入力してきた、LEN関数と「−」(マイナス)の後ろに、ちゃんとこのFIND関数が入っていることが分かります。

FIND関数の引数[検索文字列]に全角スペースを指定 それではFIND関数の設定を行っていきましょう。
[検索文字列]には、何文字目にあるかを知りたい文字は何なのか、その文字を指定します。
今回は「スペース」が何文字目にあるのかを知りたいので、スペースを入力します。
この時、探したい文字が全角のスペースなら全角で、半角のスペースなら半角で、スペースを入力します。
人間の目には全角の文字も半角の文字も似たように見えますが、Excelさんにとっては全角と半角の文字はまったく違う文字だからです。
今回の例では全角スペースを探したいので、全角スペースを入力します。
日本語入力がONの状態でスペースを入力すれば、全角で入力できます。
そしてExcelでは、「数式内で「文字」を指定するときには、その前後をダブルクォーテーションで囲む」がお約束です。
スペースも「空白という文字」ですから、スペースの前後をダブルクォーテーションで囲みます
しかも、「数式内で使う記号は半角」というのもお約束なので、ダブルクォーテーションは半角で入力します。
日本語入力がOFFの状態で入力すれば、半角で入力できます。
そうです、スペースは全角、その前後を囲むダブルクォーテーションは半角で入力です。

FIND関数の引数[対象] 次は[対象]欄に文字カーソルを移します。
この[対象]欄には、指定した全角スペースを、どのセルから探せばいいのかを指定します。
[対象]欄に文字カーソルがあることを確認し、

FIND関数の引数[対象]に「B2」を指定 今回は、B2番地の中でスペースを探したいので、B2番地をクリックすると、[対象]欄に「B2」と指定することができました。

テーブル化している場合は、FIND関数の引数[対象]に「氏名」という項目名が入るエクセルで住所録作成」でご紹介しているような、テーブルに変換した表のセルに、数式を設定している場合、[文字列]欄には、「B2」のようなセル番地ではなく、そのセルが属する見出し名が、@マークと括弧つきで表示されます。
ここで注意するのは、クリックで指定するセルは、B2番地の「中井 広正」という実際のデータが入力されているセルだということ。
その上にある見出し、B1番地の「氏名」と入力されているセルをクリックしてはいけません。
今はB2番地の「中井 広正」の全角スペースの位置を調べたいから、クリックで指定するのは、あくまでもB2番地。
その結果、クリックしたら、B2番地が属する、B1番地の「氏名」という見出し名が、@マークと括弧つきで表示される、ということです。

FIND関数の引数[開始位置] 最後の[開始位置]欄には、前の[対象]で指定したセルの中で、何文字目から探せばいいのかを指定するのですが、省略すると1文字目から探してくれるので、今回は省略します。

=RIGHT(B2,LEN(B2)-FIND(" ",B2)) これで、最初にまとめていたとおり、RIGHT関数、LEN関数、FIND関数、すべての引数の設定が終わったので、

[関数の引数]ダイアログボックスの[OK]ボタン ダイアログボックス右下の[OK]ボタンをクリックします。

氏名から名前だけを取り出すことができた 氏名から名前だけを取り出すことができました!

テーブル化している場合は、残りのセルにも自動的に数式が入力されるエクセルで住所録作成」でご紹介しているような、テーブルに変換した表のセルに、数式を設定した場合には、先頭のセルに数式を設定するだけで、残りのセルにも自動的に数式が設定されます。

オートフィルで数式をコピー テーブルになっていない表では、残りのセルが自動で埋まることもないので、数式が設定されているE2番地を選択した状態でオートフィルし、数式をコピーします。

すべての氏名から名前だけを取り出すことができた すべての氏名から、下の名前を取り出すことができました!

スポンサーリンク

関数で氏名を苗字と名前に分ける まとめ

関数で氏名を苗字と名前に分ける数式 氏名から苗字だけを取り出す場合も、下の名前だけを取り出す場合も、ポイントとなるのは、苗字と名前の間にあるスペースが何文字目にあるかを、FIND関数を使って調べるということでした。
そして、それを軸にして、苗字の文字数を調べるにはどうするか、下の名前の文字数を調べるにはどうするか、という風に考えています。

【B2番地の氏名から苗字を取り出す】

=LEFT(B2,FIND(" ",B2)-1)

【B2番地の氏名から名前を取り出す】

=RIGHT(B2,LEN(B2)-FIND(" ",B2))

今回のような込み入った処理をするときには、すぐに操作をするのではなく、どうすればできるのか、その考え方を紙に書いて整理するのがおすすめです!
私はいつも紙に書きまくっております!

では、住所録作成のページから、このページにいらっしゃっていた方は、本編に戻り、住所録作成 STEP2の「入力のために変更した設定を戻す」の章から、作業の続きを行います。

スポンサーリンク