PR

謎2.五十音順に正しく並べ替えられない

【現象】 漢字の名前、「佐藤」(さとう)が「山田」(やまだ)の後ろに?

⇒【解説】 振り仮名が記録されていないことが原因

 名簿を五十音順に並べ替えようとしたが、正しく並ばない──。そんな経験はないだろうか(図1)。トラブルの原因を知るには、Excelが漢字の読みをどのように判定しているのかを理解する必要がある。

図1 漢字で入力した名簿を五十音順にしようと、「データ」タブにある「昇順」ボタン(Excel 2003では「昇順に並べ替え」ボタン)をクリックした(1)。ところが、「佐藤」(さとう)が「山田」(やまだ)よりも後ろに並べ替えられてしまった(2)

 Excelには、漢字の読みを“振り仮名”としてセルに記録する機能がある。Excel 2007/2010では、セルを範囲選択して「ホーム」タブにある「ふりがなの表示/非表示」ボタンをクリックすると、この振り仮名を表示できる(図2)。正しく並べ替えられなかったセルを見てみると、上端に表示されるはずの振り仮名が空欄となっているか、間違った振り仮名が記録されているはずだ。漢字は標準で、この振り仮名を基に並べ替えられるので、振り仮名がなかったり、間違っていたりすると、正しく並べ替えられなくなる。

図2 並べ替えに失敗するのは、セルに振り仮名が正しく記録されていないため。セルを選択して「ホーム」タブの「ふりがなの表示/非表示」ボタンを押してみよう(1)。Excel 2003では「書式」メニューの「ふりがな」→「表示/非表示」を選ぶ。問題のセルには、漢字の振り仮名が表示されないはずだ(2)

 では、なぜ正しい振り仮名が記録されていないのか。実はこの振り仮名は、セルに漢字を入力したときの仮名漢字変換の操作を基に記録される。例えば「つのだ」から「角田」という漢字に変換して入力すれば、「つのだ」という振り仮名が記録されるのだ(図3)。そこで、間違った読みから変換した漢字には、間違った振り仮名が記録されてしまう。

図3 Excelは、漢字を入力したときの“変換前の仮名”を振り仮名としてセルに記録する。同じ「角田」という漢字でも、「つのだ」から変換すれば「つのだ」、「かくた」から変換すれば「かくた」が振り仮名となる

 さらに、Webページやメールなど他のソフトからコピーして貼り付けた漢字には、振り仮名が記録されない。セルの中で漢字への変換操作を行っていなければ、Excelが振り仮名を記録できないからだ。

 対処法は、セルに正しい振り仮名を追加すること(図4、図5)。その後に並べ替えを実行すればよい。

図4 振り仮名を修正するには、セルを選択して「ふりがなの表示/非表示」ボタン右にある▼をクリック(1)。「ふりがなの編集」を選ぶ(2)。Excel 2003では、「書式」メニューの「ふりがな」→「編集」を選ぼう
図5 振り仮名が未設定のセルでは、一般的な読みが自動で提案される。必要に応じて修正したら、[Enter]キーを2回押して確定する