ネット上の簡易解説記事では「半角を全角にするならJIS関数だけで十分」と結論づけられがちですが、これには大きな落とし穴が存在します。実務では「カタカナだけを全角にして、英数字や番地は半角のまま維持したい」という要件が頻繁に発生するためです。JIS関数を無条件に適用すると、番地「1-2-3」まで「1-2-3」に変換されてしまい、逆にシステムエラーを誘発することがあります。
1. エクセルで半角カナから全角カナへの変換ショートカット(Word活用法)
関数を使わず、かつカタカナのみを効率よく変換したい場合の裏ワザが、Microsoft Wordの「文字種の変換」機能を利用する方法です。
エクセル上の対象セル範囲をコピーし、新規Word文書に貼り付けます。テキストを選択した状態で、リボンの「ホーム」タブにある「文字種の変換」アイコンから「全角」または「全角カタカナ」を選択するだけで、英数字を維持したままカナだけを変換できます。変換後の表をコピーしてエクセルに貼り戻せば完了です。この操作はキーボード操作だけでも短時間で実行できます。
2. エクセル VBAによる半角・全角変換(StrConv関数の威力)
部分変換を自動化する最も精密なアプローチが、マクロ(VBA)のStrConv関数を用いた処理です。VBAを使えば、特定のセル範囲に対して「カタカナだけを全角化」「英数字だけを全角化」といった柔軟な制御が可能です。
以下は、選択範囲の半角カタカナのみを全角カタカナに変換する実用コードです。
Sub ConvertHalfKanaToWideKana() Dim cell As Range For Each cell In Selection If Not IsEmpty(cell.Value) And Not cell.HasFormula Then ' vbWideで全角化しつつ、vbKatakanaでカナ指定 cell.Value = StrConv(cell.Value, vbWide) End If Next cell End Sub
StrConvの引数にvbWideを指定すれば全角化、vbNarrowを指定すれば半角化が行えます。さらに正規表現(RegExp)を組み合わせることで、セル内の「数字部分のみを抽出して全角変換」「半角スペースのみを全角スペースへ置換」といった高度なデータ加工も自由自在に行えます。