エクセルでひらがなをカタカナに一括変換したいときはないでしょうか。
けど、そんな中で悩むことは、
・UPPER関数を使ってもカタカナにならない
・半角カタカナにしたいのに全角のままになってしまう
ですよね。
今回はそんなお悩みを解決する
についてまとめます!
完成イメージ
ひらがなをカタカナに変換したいとき、関数だけではうまくいかないことがあります。
今回のゴールは、
・ふりがな(ひらがな)の一覧を、カタカナと半角カタカナに一括で変換する方法
です。
名簿のふりがなを、ボタン1つでカタカナにそろえられるようになります。
なお、漢字からふりがなを取得するPHONETIC関数や、全角⇄半角を切り替えるASC・JIS関数、うまくいかないときの対処法(トラブルシュート)もあわせてご紹介します。

もくじ
STEP1. 変換したい名簿を用意する
まずは変換したい名簿を用意します。
A列にふりがな(ひらがな)、D列に漢字氏名が入っています。
今回はこのA列のふりがなを、カタカナに変換していきましょう。
B列(カタカナ変換)とC列(半角カタカナ)は空のままにしておきます。
この2列を、これから自動で埋めていきます。

下の表をコピーして、Excelのシートに貼り付けるとそのまま試せます。
| ふりがな(ひらがな) | カタカナ変換 | 半角カタカナ | 漢字氏名 |
|---|---|---|---|
| さとう たろう | サトウ タロウ | 佐藤 太郎 | |
| すずき はなこ | スズキ ハナコ | 鈴木 花子 | |
| たかはし いちろう | タカハシ イチロウ | 高橋 一郎 | |
| たなか みゆき | タナカ ミユキ | 田中 美雪 | |
| いとう けんじ | イトウ ケンジ | 伊藤 健司 | |
| わたなべ あゆみ | ワタナベ アユミ | 渡辺 歩 | |
| やまもと だいすけ | ヤマモト ダイスケ | 山本 大輔 | |
| なかむら さくら | ナカムラ サクラ | 中村 さくら | |
| こばやし ゆうた | コバヤシ ユウタ | 小林 悠太 | |
| かとう めぐみ | カトウ メグミ | 加藤 恵 | |
※ 数式で求める列は空にしています。すでに値が入っている列はそのまま残して試せます。
STEP2. PHONETIC関数で漢字からふりがなを取得する
そもそもふりがなのデータが手元にない場合は、PHONETIC関数で漢字から取り出せます。
D列の漢字氏名から、ふりがなを取得してみましょう。
セルに =PHONETIC(セル) と入力すると、その漢字の読みが返ります。
ふりがなの種類(ひらがな/カタカナ)はExcelの設定によって変わり、今回はカタカナで返りました。
ひらがなで返る環境もありますが、どちらでも次の手順でカタカナにそろえられます。

STEP3. UPPER関数ではカタカナにならない理由
「大文字にする関数があるなら、ひらがなもカタカナになるのでは?」と思うかもしれません。
そこで試しに =UPPER(セル) を使ってみます。
UPPER関数は半角の英小文字を英大文字に変える関数です。
そのため、ひらがな「さとう たろう」は変わらずそのまま返ってきました。
つまり、ひらがな→カタカナは関数だけでは変換できないのです。

ひらがな→カタカナは UPPER関数では変換できません。
全角カタカナ⇄半角カタカナは ASC関数・JIS関数 で変換できます。
ひらがな→カタカナは VBAのStrConv関数 を使うのがいちばん確実です。
STEP4. VBAのStrConv関数でひらがなをカタカナに一括変換する
ひらがなをカタカナにするには、VBA(マクロ)を使うのが確実です。
Alt+F11でVBAエディターを開き、標準モジュールに次のコードを貼り付けます。
Sub HiraganaToKatakana()
Dim r As Long
Dim lastRow As Long
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
For r = 2 To lastRow
Cells(r, 2).Value = StrConv(Cells(r, 1).Value, vbKatakana)
Next r
End Sub
実行すると、A列のふりがながカタカナになってB列に入ります。
第2引数の vbKatakana が「ひらがな→カタカナ」を行う指定です。
vbKatakana の定数値は 32 なので、StrConv(文字列, 32) と書いても同じ結果になります。
クリック1つでカタカナに変換できるようになります。
まずは動きを確かめてから、ボタン化していきましょう。

STEP5. ASC関数で全角カタカナを半角カタカナにする
次は、全角カタカナを半角カタカナに変換してみましょう。
全角→半角はASC関数で変換できます。
C2セルに =ASC(B2) と入力します。
ASC関数は全角の英数字・カタカナを半角に変える関数です。
あとはフィルハンドルでC11までコピーすれば、すべての行が半角カタカナになります。

STEP6. ASC関数の結果を確認する
C列に半角カタカナが入りました。
「サトウ タロウ」が「サトウ タロウ」のように、全角のカタカナから半角のカタカナに変わっています。
数式で入れているので、元のB列を修正すればC列も自動で追従します。

STEP7. JIS関数で半角カタカナを全角カタカナに戻す
逆に、半角カタカナを全角カタカナに戻したいときはJIS関数を使います。
半角の「サトウ」に =JIS(セル) を使うと、全角の「サトウ」に戻ります。
ASC関数とJIS関数はちょうど反対の働きをする関数です。
どちらも英数字とカタカナ(半角・全角)が対象で、ひらがなには効きません。

STEP8. VBAで半角カタカナまでまとめて一括変換する
ここまでは「カタカナにする」「半角にする」を別々に説明しました。
VBAを使えば、この2つをまとめて一括変換できます。
次のコードは、A列のひらがなをカタカナに変換し、さらに半角カタカナにしてC列まで一度に入れます。
Sub ConvertAll()
Dim r As Long
Dim lastRow As Long
Dim kana As String
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
For r = 2 To lastRow
kana = StrConv(Cells(r, 1).Value, vbKatakana)
Cells(r, 2).Value = kana
Cells(r, 3).Value = StrConv(kana, vbNarrow)
Next r
End Sub
vbNarrow は「全角→半角」を行う指定です。
これで、ボタン1つでカタカナと半角カタカナを同時に作れます。
カンタンですね。
変換方法の比較
ここまでに登場した方法を表にまとめました。
やりたいことに合わせて選ぶと迷いません。
| 方法 | できること | 向いている場面 |
|---|---|---|
| PHONETIC関数 | 漢字からふりがなを取得する | ふりがなのデータが無いとき(種類は環境により異なる) |
| UPPER関数 | 半角の英小文字を英大文字にする | 英字を大文字にしたいとき(カナには無効) |
| ASC関数 | 全角カナ・英数を半角にする | 全角カタカナを半角カタカナにしたいとき |
| JIS関数 | 半角カナ・英数を全角にする | 半角カタカナを全角カタカナに戻したいとき |
| VBAのStrConv | ひらがな→カタカナ/全角→半角 | 一括変換やボタン化をしたいとき |
「ひらがなをカタカナにしたい」なら VBAのStrConv、
「全角と半角を切り替えたいだけ」なら ASC関数・JIS関数 がおすすめです。
関数で足りる作業に、わざわざVBAを持ち出す必要はありません。まずは変換の種類で使い分けましょう。
うまくいかないときの対処法(トラブルシュート)
実際に試すと、思ったようにいかないこともあるかもしれません。
よくあるつまずきと対処法をまとめました。
| 症状 | 原因 | 対処 |
|---|---|---|
| PHONETICでふりがなが取れない(漢字のまま返る) | セルにふりがな情報が入っていない | 漢字を入力し直すか、ふりがなの編集で読みを登録する |
| 漢字の読みが思ったのと違う | PHONETICは登録された読みを返すため、誤った読みだと直らない | 該当セルの読みを手入力で修正してから変換する |
| 半角カナと全角カナが混在している | 一部の行にだけASC・JISを適用した | 全行に =ASC() か =JIS() を適用して種類をそろえる |
| 文字化けする(「?」になる) | 保存形式や文字コードの不一致 | CSVはShift_JISで保存する/半角カナはファイル名に使わない |
| マクロを実行できない | .xlsxで保存している | マクロ有効ブック(.xlsm)で保存する |
関数の説明
今回使う3つの関数の概要です。
どれも文字変換でよく使う関数なので、違いを押さえておきましょう。
PHONETIC関数(フォネティック)
| 書式 | =PHONETIC(参照) |
|---|---|
| できること | セルに入力された漢字のふりがな(読み)を取得します。 |
| 戻り値 | ふりがな(文字列) |
| こんなときに | ふりがなの列を用意したいとき。 |
| 注意 | 返るふりがなはひらがな/カタカナのどちらかで、Excelの設定に依存します。ふりがな情報が無いセルでは漢字がそのまま返ります。 |
=PHONETIC(D2)
ASC関数(アスキー)
| 書式 | =ASC(文字列) |
|---|---|
| できること | 全角の英数字・カタカナを半角に変換します。 |
| 戻り値 | 半角に変換した文字列 |
| こんなときに | 全角カタカナを半角カタカナにしたいとき。 |
| 注意 | 対象は英数字とカタカナのみです。ひらがなや漢字は変換されません。 |
=ASC(B2)
JIS関数(ジス)
| 書式 | =JIS(文字列) |
|---|---|
| できること | 半角の英数字・カタカナを全角に変換します。 |
| 戻り値 | 全角に変換した文字列 |
| こんなときに | 半角カタカナを全角カタカナに戻したいとき。 |
| 注意 | ASC関数と反対の働きです。半角スペースは全角スペースに変換される点にも注意しましょう。 |
=JIS(C2)
完成
B列に全角カタカナ、C列に半角カタカナがそろいました。
思ったとおりに動きましたか?
ひらがなの名簿から、カタカナと半角カタカナを一度に作れるようになりました。
あとはVBAをボタンに登録しておけば、毎回の変換作業がクリック1つで終わります。

さいごに
いかがでしょうか。
今回は、
についてまとめました。
ひらがな→カタカナは VBAのStrConv、全角カタカナ⇄半角カタカナは ASC関数・JIS関数 と覚えておくと迷いません。
まずは今回のサンプル表で、ぜひ一度試してみてください。
また、他にも便利なExcelの時短テクニックがありますので、よろしければご参照頂ければと思います。












コメントを残す