Excel:漢字のフリガナが表示されない!の対処法【PHONETIC関数】

PHONETIC関数でふりがなが抽出されない原因と対処法 Excel

エクセルで入力された漢字のふりがなを抽出してくれる PHONETIC関数はとても便利なのですが、時として、「漢字のままでふりがなが表示されない!」という問題に出くわすことがあります。

原因と対処法を説明しますね。

スポンサーリンク

PHONETIC関数を挿入したのに漢字のままでふりがなが表示されない原因

エクセルの「ふりがな機能」とは~そもそも論

そもそも、エクセルの[ホーム]タブの[フォント]欄にある[ふりがなの表示/非表示]でふりがなが表示されるのは、下記2つのケースです。

  1. エクセルに直接入力したセル内の文字列
  2. 他のファイルからコピーしたりインポートしたデータにエクセルでフリガナの編集を実行した文字列

エクセルに直接入力した文字列は、エクセル入力時の「かな」に基づいてふりがなが情報が記録されます。

他のファイルからコピーやインポートでエクセルのセルに入力された文字列は、エクセル入力時の「かな」データが存在しませんから、ふりがな情報自体が存在しません。
ただし、コピーやインポートでセルに入力された文字列に対して[ふりがなの編集]を適用すると、そのセルの文字列にはふりがなデータが付加されます。

PHONETIC関数でふりがなを抽出できない理由

言葉ではうまく説明できないなぁ。

下図を見てください。

PHONETIC関数でふりがなが抽出されない問題

エクセルが「ふりがな」情報を記録しているセルには、ふりがなが表示されています。

一方、エクセルが「ふりがな」情報を記録していないセルには、ふりがなは表示されません。
つまり、セル内の文字列が「ふりがな」情報を持っていないということです。

無い情報は表示できない…。
当然ですよね?

だから、PHONETIC関数を使ってふりがなを抽出しようとしてもセルに入力された文字列がそのまま表示されてしまうんですよ。

「PHONETIC関数を設定したのに漢字のまま!なぜ?」の原因はわかりましたね。

この問題を解決する方法はひとつ。
セルの文字列にふりがな情報を設定してあげることです。

で、そのやり方は2つ。

どちらのやり方を選ぶかは、あなた次第です(^^)

対処法その1:ひとつずつふりがなを設定する

ひとつめの対処法は、ふりがな情報がないセルに対して、ひとつずつふりがなを設定する方法です。

PHONETIC関数でふりがなをひとつずつ設定する

リボン内の「ふりがなの編集」を選択するか、キーボードショートカット alt + shift + でふりがなを設定し、enter 。

ふりがなを設定するセルの数が少なければこれでもいいですが、さすがに、ひとつずつは面倒くさいですよねぇ…。

対処法その2:VBAを使って選択範囲に一括でふりがなを設定する

VBAを使って選択した範囲に一括でふりがなを設定しましょう。

作業は2~3分くらいかな。リストが長い時はこのやり方の方が時間効率が良いと思います。

[開発]タブが表示されているかを確認する

まず、[開発]タブが表示されているかを確認してください。

VBAでふりがなを一括設定する 開発タブがあるか確認する

[開発]タブが無い場合は、[ファイル] > [その他…] > [オプション] と進み、
[リボンのユーザ設定] を選択し、
[開発] にチェックを入れて、
[OK] 。

VBAでふりがなを一括設定する 開発タブを有効にする

Visual Basicを起動する

[開発]タブを開き、Visual Basicを起動しましょう。

VBAでふりがなを一括設定する Visual Basicを起動する

[挿入] > [標準モジュール] を選択します。

VBAでふりがなを一括設定する Visual Basicの標準モジュールを開く

コードを入力する画面(下図)で、

Sub ふりがな と入力しenter を押します。

※ sub と ふりがなの間は半角スペースを空ける。
※ 本記事の例ではマクロの名前を”ふりがな”としました。わかりやすい任意の名前を付けましょう。

Sub ふりがな の後に半角 () が自動挿入され、1行スペースがあいて、End Sub と表示されるはずです。

1行空いたスペースに、Selection.SetPhonetic と入力しましょう。
ちなみに、この部分を和訳(?)すると、「選択範囲。設定する ふりがな」ってなカンジですね。

VBAでふりがなを一括設定する Visual Basicのコードを書く

面倒なら、下記をコピーして貼り付けてね♪

Sub ふりがな()
Selection.SetPhonetic
End Sub

コードを入力したら、画面右上の×でvisual basicを閉じてください。

エクセルの画面に戻ります。

ふりがなを設定するセルを選択し、マクロを起動して一括処理!

いよいよ一括変換です。

ふりがなデータを追加するセルをまとめて選択し、リボン内のマクロをクリックしましょう。

VBAでふりがなを一括設定する エクセルでマクロを開く

マクロのダイアログが開くので、[実行]をクリック。

これだけ。

VBAでふりがなを一括設定する マクロを実行する

「ふりがなの表示」をしてみると…

VBAでふりがなを一括設定する ふりがなを表示して確認

選択したセルのすべてにふりがなが表示されました!

これで、PHONETIC関数を使ってふりがなを別のセルに抽出できます。

VBAでふりがなを一括設定する PHONETIC関数を使ってふりがなを別セルに抽出

PHONETIC関数をセルに設定する手順は、こちらの記事をご覧ください。

Excel:ひらがなをカタカナにカタカナをひらがなに一括置換する【PHONETIC関数】
とあるプロジェクトで寿司ネタの一覧表を作ることになり資料をもらいました。 読み方と漢字の対応表を作りたいということです。 で、頂戴した資料がこちら。 あらら。 読み方の表記がひらがなとカタカナが混在しているわ。しかも、一覧表は結構長い。 1行ずつ入力し直すなんて、手間かかりすぎ! PHONETIC関【...続きを読む】

以上 PHONETIC関数を使ってもふりがなを抽出できない、漢字しか表示されない問題の対処法でした。

ご参考になれば幸いです♪

タイトルとURLをコピーしました