名簿を作っていて「フリガナの列も手作業で入力するの?」と面倒に感じたこと、ありませんか? 何百行もある名簿だと、入力ミスも怖いですよね。
そのまま放置すると、五十音順で並べ替えもできません。 宛名印刷で読み仮名が必要になるたびに手が止まります。
ExcelのPHONETIC関数を使えば、ふりがなを一括で取り出せます。 この記事では基本の使い方からSORTBYと組み合わせた五十音順ソートまで、実務で役立つパターンをまとめました。
PHONETIC関数とは?ふりがな情報の仕組みから理解する
PHONETIC(フォネティック)関数は、セルのふりがな情報を取り出すExcel関数です。 「phonetic」は英語で「音声の・発音の」という意味があります。
ポイントは「ふりがなを推測するのではない」ということです。 Excelが入力時に保存したメタデータを読み取っているだけなんです。
NOTE
PHONETIC関数は Excel専用 の関数です。Googleスプレッドシートにはふりがなの仕組みがないため使えません。
なお、PHONETIC関数はExcelの古いバージョンから利用できます。バージョンによる制限はありません。
Excelがふりがな情報を保存するメカニズム
Excelで日本語を入力するとき、IME(日本語入力システム)を使いますよね。 たとえば「やまだ」とひらがなで打って「山田」に変換します。
このとき、変換前のひらがな「やまだ」がメタデータとしてセルに保存されます。 PHONETIC関数はこのメタデータを参照しているだけです。
つまり、AIが漢字の読みを自動判定しているわけではありません。 入力時の変換履歴をそのまま返しているので、結果は入力方法に依存します。
たとえば「はしもと」と入力して「橋本」に変換すれば、ふりがなは「ハシモト」です。 しかし同じ「橋本」でも、コピペで貼り付けた場合はふりがな情報がありません。
基本構文と引数
=PHONETIC(参照)
引数はたった1つだけ。とてもシンプルです。
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| 参照 | 必須 | ふりがなを取り出すセルまたはセル範囲 |
注意点として、セル参照でしか指定できません。 =PHONETIC("山田") のように文字列を直接渡すとエラーになります。
PHONETIC関数の基本的な使い方
単一セルのふりがなを取り出す
A列に名前が入っているとします。 B1セルに次の数式を入力してみてください。
=PHONETIC(A1)
A1に「山田太郎」と入力されていれば、B1に「ヤマダタロウ」と表示されます。 初期設定では全角カタカナで返ってくるので覚えておきましょう。
あとはB1の数式を下方向にコピーするだけです。 名簿全体のフリガナ列があっという間に完成しますよ。
範囲指定でふりがなを結合する
PHONETIC関数にはセル範囲も指定できます。
=PHONETIC(A1:A3)
A1が「山田」、A2が「太郎」、A3が「様」の場合、結果は「ヤマダタロウサマ」です。 範囲内のすべてのセルのふりがなが1つに結合されます。
ただし、飛び飛びのセルは指定できません。 =PHONETIC(A1,A3) のような書き方はエラーになるので注意してください。
ひらがな・半角カタカナへの切り替え方
PHONETIC関数の戻り値は、参照先セルのふりがな設定に依存します。 3種類から選べます。
| 種類 | 表示例 |
|---|---|
| 全角カタカナ(初期設定) | ヤマダタロウ |
| ひらがな | やまだたろう |
| 半角カタカナ | ヤマダタロウ |
変更手順は次のとおりです。
- ふりがなの種類を変えたいセル範囲を選択する
- ホームタブ →「ふりがなの表示/非表示」横の ▼ をクリック
- 「ふりがなの設定」を選択する
- 「種類」でひらがな・カタカナを切り替えて OK を押す
設定を変更すると、PHONETIC関数の結果も自動で切り替わります。 この設定はセルごとに個別で持っているので、範囲選択でまとめて変更してみてください。
CSVインポートデータでふりがなが消える理由と対処法
PHONETIC関数を使っていて一番多いトラブルがこれです。 「漢字がそのまま返ってくる」というケースですね。
なぜコピペ・CSVデータはふりがなが取れないのか
CSVはプレーンテキスト形式です。 文字データしか保存できず、ふりがなメタデータを持つ仕組みがありません。
そのため、CSVからインポートしたデータにPHONETIC関数を使うと、漢字がそのまま返ります。 同じ理由で、Webブラウザや他アプリからコピペしたデータにもふりがな情報はありません。
さらに注意したいのが、Excelで入力したデータでも.csvで保存するとふりがなが消えることです。 せっかくのふりがな情報が失われるので、ふりがなが必要なデータは.xlsx形式で保存しましょう。
区切り位置機能でふりがなを一括再生成する
大量のデータにふりがなを再生成するには「区切り位置」機能が便利です。 データの分割が目的の機能ですが、副作用でふりがなが再付与されます。
手順は次のとおりです。
- ふりがなを付けたいセル範囲を選択する
- データタブ →「区切り位置」をクリックする
- ウィザードが開くが、何も変更せず「完了」を押す
これだけで、Excelがセルの文字列を再解析してふりがなを生成してくれます。 何百行あっても一瞬で処理できるので、ぜひ試してみてください。
TIP
区切り位置機能は、実際にデータを分割しなくてもOKです。「完了」を押すだけでふりがなが再生成されます。
ただし、Excelが自動で読みを推測するため、人名や地名の特殊な読みは正確でないことがあります。 重要なデータは結果を目視で確認しましょう。
ふりがなの編集(Shift+Alt+↑)で個別修正する
1件ずつ正確にふりがなを設定したい場合は、手動編集が確実です。
- 対象のセルを選択する
- Shift+Alt+↑ を押す
- セルの上にふりがな編集欄が表示される
- 正しい読みを入力して Enter で確定する
区切り位置で一括生成したあと、誤変換だけを個別修正する流れが効率的ですよ。
PHONETIC関数の実践活用パターン
名簿のフリガナ列を一括作成する
もっとも基本的な使い方です。 A列に氏名、B列にフリガナを入れたい場合の手順を見てみましょう。
B2セルに次の数式を入力します。
=PHONETIC(A2)
あとはB2を下方向にコピーするだけです。 数百行の名簿でも一瞬でフリガナ列が完成します。
ASC関数と組み合わせて半角カナにする
データベースやシステム連携で半角カタカナが必要な場面がありますよね。 ASC関数と組み合わせれば、設定を変更しなくても半角カナが得られます。
=ASC(PHONETIC(A2))
PHONETIC関数で全角カタカナを取り出し、ASC関数で半角に変換しています。 ふりがなの設定を変える必要がないので、手軽に使えるテクニックです。
姓・名が別セルに分かれている場合
A列に「姓」、B列に「名」が入っているケースも多いですよね。 姓名の間にスペースを挟みたいなら、次のように書きます。
=PHONETIC(A2)&" "&PHONETIC(B2)
「ヤマダ タロウ」のように、スペース区切りでフリガナが表示されます。
スペースなしで結合したいなら、範囲指定も使えます。
=PHONETIC(A2:B2)
こちらは「ヤマダタロウ」とスペースなしで結合されます。 用途に合わせて使い分けてみてください。
もし複数セルの文字列をもっと柔軟に結合したい場合は、TEXTJOIN関数もあわせてチェックしてみてください。
JIS関数で全角カナに統一する
外部データとExcel入力データが混在すると、半角カナと全角カナが入り混じることがあります。 JIS関数で全角に統一しましょう。
=JIS(PHONETIC(A2))
全角カタカナに揃えておくと、検索やソートで不一致が起きにくくなりますよ。
SORTBY+PHONETICで五十音順ソートを自動化する
ここがPHONETIC関数のもっとも実践的な活用法です。 従来はフリガナ列を別に作ってソートしていましたが、SORTBY関数を組み合わせればフリガナ列なしで五十音順に並べ替えられます。
SORTBY関数とは?
SORTBY関数は、指定した基準列の値で表を並べ替える関数です。 元データを変更せず、並べ替えた結果を別の場所に出力します。
SORT関数は「何列目で並べ替えるか」を番号で指定します。 一方SORTBYは「この列の値で並べ替えて」と範囲で直接指定できるのが特徴です。
NOTE
SORTBY関数は Microsoft 365 / Excel 2021以降 で使えます。Excel 2019以前では利用できません。
フリガナ列不要!SORTBY+PHONETICの数式
次のような名簿があるとします。
| A列(氏名) | B列(部署) | C列(内線) | |
|---|---|---|---|
| 2行目 | 渡辺真理子 | 営業部 | 1234 |
| 3行目 | 青木健太 | 総務部 | 5678 |
| 4行目 | 中村優子 | 経理部 | 9012 |
E2セルに次の数式を入力します。
=SORTBY(A2:C20, PHONETIC(A2:A20), 1)
この数式のポイントを整理しましょう。
- A2:C20: 並べ替えたい表全体
- PHONETIC(A2:A20): 氏名列のふりがなを並べ替えキーに使う
- 1: 昇順(=五十音順)
結果がスピル(自動展開)で出力されます。 フリガナ列を別に作らなくても、五十音順の名簿が完成しますよ。
姓・名が別セルの場合の五十音順ソート
A列が「姓」、B列が「名」、C列が「部署」の場合は、少し工夫が必要です。 姓のふりがなだけで並べ替えるなら、先ほどと同じ要領でOKです。
=SORTBY(A2:C20, PHONETIC(A2:A20), 1)
姓が同じ人を名の五十音順でさらに細かく並べたい場合は、第2ソートキーを追加します。
=SORTBY(A2:C20, PHONETIC(A2:A20), 1, PHONETIC(B2:B20), 1)
第4・第5引数に名前列のPHONETICと昇順を追加しています。 これで「青木」が複数いても、名前の五十音順で正しく並びますよ。
よくあるエラーと症状別の対処法
| 症状 | 原因 | 対処法 |
|---|---|---|
| 漢字がそのまま返る | CSVインポートやコピペでふりがな情報がない | 区切り位置で再生成、またはShift+Alt+↑で手入力 |
| ふりがなが間違っている | 入力時の変換と実際の読みが異なる | Shift+Alt+↑でふりがなを手動修正する |
| #VALUE!エラー | 文字列を直接引数に指定した | =PHONETIC(“山田”) → =PHONETIC(A1) に変更 |
| 結果が空白 | 参照先が空セルまたは数値のみ | 参照先に日本語テキストが入っているか確認 |
| 半角カナで返ってくる | 参照先のふりがな設定が半角カタカナ | 「ふりがなの設定」で全角カタカナに変更 |
| SORTBYとの組み合わせで#VALUE! | Excel 2019以前を使っている | Microsoft 365またはExcel 2021以降が必要 |
漢字がそのまま返るケースが圧倒的に多いです。 まずはCSVインポートやコピペのデータでないかを確認してみてください。
ふりがなが間違っている場合は、入力時の変換に起因しています。 「はしもと」で変換した「橋本」と「きょうばし」で変換した「橋本」では、返る値が違います。 正しい読みに直すには、Shift+Alt+↑で個別に修正するのが確実ですよ。
SUBSTITUTE関数のような文字列操作関数と違い、PHONETIC関数はメタデータを読むだけです。 「思ったとおりの結果にならない」ときは、ふりがな情報そのものを疑ってみてください。
まとめ
PHONETIC関数の使い方を振り返りましょう。
- 基本構文: =PHONETIC(参照) でふりがなを取り出せる
- 仕組み: 漢字の読みを推測するのではなく、入力時のIMEメタデータを参照している
- CSVデータに注意: ふりがな情報がないデータは区切り位置で再生成する
- ASC / JIS関数との組み合わせ: 半角カナ・全角カナの変換も簡単
- SORTBY + PHONETIC: フリガナ列なしで五十音順ソートを自動化できる(Microsoft 365 / Excel 2021以降)
名簿管理でフリガナが必要になったら、まずPHONETIC関数を試してみてください。 SORTBY関数と組み合わせれば、わざわざフリガナ列を作らなくても五十音順に並べ替えられますよ。
