Excel。氏名のフリガナを苗字と名前に分けて表示をしたい
PHONETIC関数
ご質問がありまして、以前紹介した、氏名を苗字と名前に分割する方法で、氏名を分割する方法はわかったんだけど、
氏名のデータを元にフリガナを苗字と名前に分けて表示することって出来ますか?というもの。
なるほど、確かに現場レベルでないと出てこないご質問ですね。
ただ、先に話しておきますが、Excelというか、テーブルのフィールド管理のポイントは、細かく。
が大切で、分割よりも結合の方が簡単に出来ますので、その点も含めて、
最初の段階でしっかり、フィールドを考えるほうがいいと思います。
では、下記の表があります。
このように、氏名から直接、苗字と名前のフリガナを抽出したいという訳ですね。
フリガナを算出する関数である、PHONETIC関数がいっぱい出てきますので、
煩雑でわかりにくいという方は、B列に一度、PHONETIC関数を使って、
フルネームのフリガナを算出して、それを利用したほうがわかりやすいかと思います。
では、早速作っていくことにします。
B3をクリックしましょう。
まずは、苗字ですが、左側から何文字というように算出させますので、
LEFT関数を使いますので、LEFT関数ダイアログボックスを表示しましょう。
文字列には、A3のフリガナ情報を抽出させる必要がありますので、
PHONETIC関数ダイアログボックスを表示しましょう。
OKボタンをクリックしてはいけません。
まだLEFT関数を作り始めたばかりです。
では、LEFT関数ダイアログボックスに戻り、
今度は、LEFT関数ダイアログボックスの文字数を入力していきます。
この文字数は、空白までの文字数になります。
今回A列の苗字と氏名は【全角空白】で分けておりますので、その全角空白を見つけるために、
まずは、FIND関数ダイアログボックスを表示しましょう。
検索文字列は、” “ 全角空白ですね。
対象は、A3のフリガナですから、PHONETIC(A3)。入力の仕方は先程と同じですね。
これで、全角空白のある場所がわかりましたが、その前までですから、
マイナス1する必要がありますので、LEFT関数ダイアログボックスに戻りましょう。
文字数の数式。FIND(" ",PHONETIC(A3))の最後に-1を入力して、
FIND(" ",PHONETIC(A3))-1
とします。
そしてOKボタンをクリックして、オートフィルで苗字のフリガナを算出しましょう。
まずは、苗字が完成しましたので、続いて名前を抽出していきましょう。
名前は、全角空白のあとの文字数ということになりますので、
C3をクリックして、MID関数ダイアログボックスを表示しましょう。
文字列には、PHONETIC(A3) を入力します。今回はこればっかりですね。
開始位置は、全角空白の次の文字ですから、全角空白を見つけないといけませんので、
FIND関数ダイアログボックスを表示しましょう。
検索文字列には、” “ 全角空白 を入力します。
対称は、おなじみ、PHONETIC(A3)
そうしたら、MID関数ダイアログボックスに戻りましょう。
開始位置の数式が、FIND(" ",PHONETIC(A3))だと、3になっていて、
この次の文字からになりますので、プラス1をする必要がありますので、
開始位置は、FIND(" ",PHONETIC(A3))+1
文字数は、開始位置以降の文字数が欲しいわけですが、A3の文字数でも問題はありません。
ここには、文字数を数えるLEN関数が登場しますので、
LEN関数ダイアログボックスを表示しましょう。
文字列には、PHONETIC(A3) を入力して、OKボタンをクリックしましょう。
そして、オートフィルハンドルを使って数式をコピーしましょう。
ちなみに、C3は、
=MID(PHONETIC(A3),FIND(" ",PHONETIC(A3))+1,LEN(PHONETIC(A3)))
という数式です。
このようにすると、
氏名から直接、フリガナを苗字と名前で分割して抽出することができますので、
色々挑戦してみましょう。
なお、名前をRIGHT関数で挑戦してみると、
=RIGHT(PHONETIC(A3),LEN(PHONETIC(A3))-FIND(" ",PHONETIC(A3)))
という数式になりますが、長さがあまり変わりませんね。