各セルに入力したデータは、漢字変換する前の「読み」が「ふりがな」として記録される仕組みになっている。この「ふりがな」を文字列データとして取得する関数がPHONETICだ。また、これに関連する話として、「ふりがな」を自動設定する方法、ならびに氏名を「ローマ字表記」に自動変換する方法について紹介していこう。

「ふりがな」と並べ替え

Excelは「漢字を含む日本語」も正しい50音順に並べ替えることができる。この土台となっているのが、各セルに記録されている「ふりがな」だ。今回は、この「ふりがな」を文字列データとして取得する関数PHONETICの活用方法、ならびに指名を「ローマ字表記」に自動変換する方法について紹介していこう。

  • 関数PHONETICの使い方

まずは、「ふりがな」の基本操作を手短に紹介しておく。各セルに記録されている「ふりがな」を表示するときは、それらのセルを選択した状態で「ふりがなの表示/非表示」をクリックすればよい。

  • 「ふりがな」を表示する手順

すると、以下の図のように「ふりがな」が表示される。文字が小さくて見にくい場合は、ワークシートの表示倍率を拡大すると「ふりがな」の文字が読みやすくなる。

  • 「ふりがな」を表示した様子

データを「昇順」で並べ替えたときは、この「ふりがな」を基準にデータの並べ替えが行われる。よって、「漢字を含む日本語」であっても正しい50音順に並べ替えることが可能だ。

  • 「氏名」の50音順に並べ替えた例

ただし、間違った「読み」で漢字変換していた場合は、その「読み」がそのまま「ふりがな」として記録されるため、正しい50音順にならない。このため、状況によっては「ふりがな」の確認が必要になるケースもある。

「ふりがな」を取得する関数PHONETIC

各セルに記録されている「ふりがな」は前述した手順で確認できるが、文字が小さくて視認性に欠ける、という欠点がある。このような場合に活用したいのが、「ふりがな」を文字列データとして取得する関数PHONETICだ。使い方は、カッコ内にセル参照を指定するだけ。

  • 関数PHONETICの入力

「Enter」キーを押して関数PHONETICを実行すると、以下の図のような結果が得られる。

  • 取得された「ふりがな」

続いて、この関数をオートフィルでコピーすると、各セルの「ふりがな」を見やすく表示することが可能となる。これで「ふりがな」の確認作業を効率化できるはずだ。

  • 関数PHONETICをオートフィルでコピー

そのほか、関数PHONETICによる「ふりがな」の取得は、

 ・データをCSV形式で保存する場合
 ・ExcelのPower Queryを使用する場合

などにも活用できる。データをCSV形式で保存すると、各セルの「書式」や「ふりがな」が破棄され、データだけがファイルに保存される仕様になっている。Power Queryにデータを読み込んだ場合も同様だ。この場合、「ふりがな」が削除されてしまうため、「漢字を含む日本語」を正しい50音順に並べ替えることが不可能になってしまう。

こういったトラブルを回避するには、関数PHONETICを使って「フリガナ」の列を用意しておくとよい。すると、「フリガナ」の列で正しい50音順に並べ替えられるため、データ移行後も問題なく処理を進められるようになる。

「ふりがな」を自動設定するには?

続いては、「CSVファイルから読み込んだデータ」や「コピー&ペーストにより入力したデータ」を扱うときに役立つテクニックを紹介していおこう。こういったデータは漢字変換前の「読み」がないため、「ふりがな」が存在しないデータになる。当然ながら、正しい50音順に並べ替えることも不可能となる。

正しい50音順に並べ替えるには「ふりがな」を手作業で補完しなければならない。とはいえ、これは大変な作業になるはずだ。そこで「フリガナ」を自動設定する方法を紹介しておこう。この作業にはVBAを使用するが、わずか1行程度の記述なので初心者でも問題なく作業を進められるだろう。

VBAを使用するには「開発」タブを表示しておく必要がある。Excelの画面に「開発」タブが見当たらない場合は、以下のように操作すると「開発」タブを表示できる。

(1)「ファイル」タブを選択し、「オプション」をクリックする
(2)「リボンのユーザー設定」を選択し、「開発」のチェックボックスをONにする
(3)「OK」ボタンをクリックする

  • 「開発」タブの表示

それでは、「ふりがな」を自動設定する方法を紹介していこう。「ふりがな」を設定するセル範囲を選択し、「開発」タブにある「Visual Basic」をクリックする。

  • セル範囲の選択、Visual Basicの起動

VBAの操作画面が表示されるので、「表示」→「イミディエイトウィンドウ」を選択して「イミディエイト」ウィンドウを表示する

  • 「イミディエイト」ウィンドウの表示

「イミディエイト」ウィンドウを表示できたら、ここに「Selection.SetPhonetic」と入力して「Enter」キーを押す。

  • 選択範囲に「ふりがな」を自動設定する操作

以上で「ふりがな」の自動設定は完了となる。VBAの操作画面を閉じて、「ふりがなの表示/非表示」をクリックすると、選択していたセルに「ふりがな」が自動設定されているのを確認できるはずだ。

  • 自動設定された「ふりがな」

ただし、パソコンが保有している辞書にもとづいて機械的に設定される「ふりなが」となるため、必ずしも正しい「ふりがな」が設定されているとは限らない。むしろ、氏名などのデータは少なからずの“読み間違い”があるのが普通だ。よって、「ふりがな」を確認しておく必要がある。この場合にも関数PHONETICが活用できる。

  • 関数PHONETICの入力

  • 関数PHONETICをオートフィルでコピー

上図のように関数PHONETICで「ふりがな」を取得しておくと、「ふりがな」の文字が読みやすくなり、確認作業をスムーズに進められる。もしも「ふりがな」に間違いが見つかった場合は、その元データ(漢字表記の氏名)を選択し、「ふりがなの表示/非表示」→「ふりがなの編集」を選択する。これで「ふりがな」を修正できるようになる。

  • 間違っている「ふりがな」の修正

このような手順で「ふりがな」が存在しないデータに「ふりがな」を自動設定することも可能だ。ただし、データが氏名の場合は「どう読むのが正解なのか判断できない・・・」といった問題が発生する恐れがある。

たとえば、「新城」を「シンジョウ」と読むのか、それとも「アラシロ」と読むのか、といった問題は、その人物のことを知っていない限り、判断不可能な問題になってしまう。よって、根本的な問題解決には至らないケースもある。

ここで紹介したテクニックは、「ふりがな」を機械的に自動設定して手間を省略する方法、と捉えておくのが基本だ。必ずしも正しい「ふりがな」が設定されるとは限らない、ということを認識しておく必要がある。

ローマ字表記を追加するには?

海外とデータをやり取りする場合などに、氏名の「ローマ字表記」が必要になるケースもあるだろう。この場合も、ローマ字を1件ずつ手作業で入力していくのは大変な作業になる。そこで「ローマ字表記」の入力を簡略化するテクニックを紹介しておこう。

まずは「ローマ字表記」に自動変換するセル範囲を選択する。続いて、「校閲」タブを選択し、「翻訳」をクリックする。

  • セル範囲の選択と翻訳機能を起動

画面の右側に「翻訳ツール」が表示されるので、翻訳先の言語に「英語」を指定する。すると、選択したセル範囲が英語に機械翻訳され、氏名を「ローマ字表記」に変換した結果が表示される。あとは、この結果をコピー&ペーストするだけだ。

  • 機械翻訳によりローマ字に変換される

ただし、普通にコピー&ペーストすると、コピーしたデータがすべて「1つのセル」に貼り付けられてしまい、求めている結果にはならない。よって、以下に示した手順で、いちどテキストエディターを経由する必要がある。

(1)翻訳結果をドラッグして選択し、「Ctrl」+「C」キーでコピーする
(2)「メモ帳」などのテキストエディターを起動する
(3)「Ctrl」+「V」キーを押して、コピーしたデータを貼り付ける

  • 「メモ帳」などにローマ字をコピー&ペースト

その後、以下のように操作すると、「ローマ字表記」をまとめてExcelに貼り付けることができる。

(4)テキストエディターに貼り付けた文字を選択し、「Ctrl」+「C」キーでコピーする
(5)貼り付け先(Excel)の先頭セルを選択する
(6)「Ctrl」+「V」キーを押して、コピーしたデータを貼り付ける

  • Excelに貼り付けたローマ字

このような手順で氏名の「ローマ字表記」を入力していくことも可能だ。ただし、こちらも機械翻訳を利用しているため、必ずしも正しい「ローマ字表記」になるとは限らない。上図に示した例の場合、

 ・「谷川」が「Tanikawa」になっている
 ・「外崎」が「Sotozaki」になっている

などのミスが見受けれらる。これらのミスは手作業で修正しなければならない。

なお、こういったミスを少なくするために、「ふりがな」のデータを使って翻訳すれば・・・、と考える方もいるだろう。しかし、これは上手くいかないケースが多い。試しに、カタカナ表記の「ふりがな」を翻訳した例を紹介しておこう。

  • 「フリガナ」の列をもとに翻訳した場合

上図をよく見ると、

 ・「ショウ」が「Shaw」(英語の人名)に翻訳されている
 ・「トオル」が「Tooru」というローマ字表記になっている
 ・「MOTOMIYA」(モトミヤ)がすべて大文字になっている
 ・「マルモ」が「Malmo」という表記になっている
 ・「名→姓」または「姓→名」の順番が統一されていない

といった不具合が生じているのを確認できる。これだけミスが多いと、自動化のメリットをあまり感じられないだろう。よって、漢字表記の「氏名」をそのまま翻訳した方が「正しいローマ字」になる可能性が高いといえる。

とうことで、今回は「ふりがな」と「ローマ字表記」に関するテクニックを紹介した。関数(PHONETIC)の活用方法から少し話が逸れてしまった部分もあるが、氏名データを扱うときに“少しは使えるテクニック”として参考にして頂ければ幸いだ。