皆さん、こんにちは。Excel VBA講師です。
業務で他部署から送られてくるCSVやシステム出力データ、困ったことはありませんか?特に「氏名」や「商品名」にふりがなが振られておらず、並び替えや名寄せができない……という悩みは、実務の現場で非常によく耳にします。
今回は、手作業でセルに「ふりがな」を入力する地獄のような作業を終わらせる、VBAの活用術を解説します。
なぜ「PHONETIC関数」だけでは不十分なのか
多くの人は、まずPHONETIC関数を試します。しかし、外部から読み込んだデータに対してPHONETIC関数を使っても、結果が元の漢字のままになることがほとんどです。これは、Excelが「データの読み情報」を持っていないことが原因です。
VBAを使えば、「SetPhoneticメソッド」を強制的に実行することで、Excelに読み情報を再計算させることが可能です。
実務で使える自動化コード
以下は、選択した範囲のセルに対して、一括でふりがな情報を付与し、隣の列にカタカナで書き出すプロシージャです。
Sub AddFuriganaToData() Dim rng As Range Dim cell As Range ‘ 選択範囲内のセルを処理 For Each cell In Selection ‘ 1. セルにふりがな情報を強制付与 cell.Characters.PhoneticCharacters = “” cell.SetPhonetic ‘ 2. 隣の列(Offset(0, 1))にカタカナを出力 cell.Offset(0, 1).Value = Application.GetPhonetic(cell.Value) Next cell End Sub
運用のコツ:辞書登録の重要性
このコードの肝は、「SetPhonetic」でExcelに解析させるという点です。しかし、人名などはExcelの辞書では誤変換されることもあります。
実務でこれを運用する際は、コードを実行した後に「Ctrl + A」で全選択し、「ふりがな」グループの「ふりがなの表示/非表示」で確認作業を行うフローを組み込んでください。また、頻出する社内用語や人名が誤る場合は、事前にExcelの「ふりがな設定」の「辞書」に登録しておくことで、精度の高い自動化が実現します。
まとめ
外部データを取り込むたびに手作業でフリガナを打っている時間は、年間で見ると数時間にも及びます。VBAでこの処理を自動化し、浮いた時間を「データの分析」や「より付加価値の高い業務」に充ててください。
「読み」が整理されているデータは、VLOOKUP関数やピボットテーブルでの集計ミスを劇的に減らします。ぜひ次回の業務から導入してみてください。
