エクセルでひらがなをカタカナに一括変換する方法!半角カタカナも可!

エクセルでひらがなをカタカナに一括変換する方法!半角カタカナも可!
エクセルでひらがなをカタカナに一括変換したいときはないでしょうか。

けど、そんな中で悩むことは、

・ふりがな(ひらがな)を1件ずつ打ち直すのが手間
・UPPER関数を使ってもカタカナにならない
・半角カタカナにしたいのに全角のままになってしまう

ですよね。

今回はそんなお悩みを解決する

・エクセルでひらがなをカタカナに一括変換する方法(StrConv関数とASC・JIS関数の使い分け)

についてまとめます!

完成イメージ

ひらがなをカタカナに変換したいとき、関数だけではうまくいかないことがあります。
今回のゴールは、
・ふりがな(ひらがな)の一覧を、カタカナと半角カタカナに一括で変換する方法
です。
名簿のふりがなを、ボタン1つでカタカナにそろえられるようになります。

なお、漢字からふりがなを取得するPHONETIC関数や、全角⇄半角を切り替えるASC・JIS関数、うまくいかないときの対処法(トラブルシュート)もあわせてご紹介します。

完成イメージ

タカヒロ
タカヒロ
上の画像が完成形です。A列のふりがな(ひらがな)から、B列にカタカナ、C列に半角カタカナが一括で入りました。

STEP1. 変換したい名簿を用意する

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

下の表をコピーして、Excelのシートに貼り付けるとそのまま試せます。

ふりがな(ひらがな) カタカナ変換 半角カタカナ 漢字氏名
さとう たろう サトウ タロウ 佐藤 太郎
すずき はなこ スズキ ハナコ 鈴木 花子
たかはし いちろう タカハシ イチロウ 高橋 一郎
たなか みゆき タナカ ミユキ 田中 美雪
いとう けんじ イトウ ケンジ 伊藤 健司
わたなべ あゆみ ワタナベ アユミ 渡辺 歩
やまもと だいすけ ヤマモト ダイスケ 山本 大輔
なかむら さくら ナカムラ サクラ 中村 さくら
こばやし ゆうた コバヤシ ユウタ 小林 悠太
かとう めぐみ カトウ メグミ 加藤 恵

※ 数式で求める列は空にしています。すでに値が入っている列はそのまま残して試せます。

STEP2. PHONETIC関数で漢字からふりがなを取得する

そもそもふりがなのデータが手元にない場合は、PHONETIC関数で漢字から取り出せます。
D列の漢字氏名から、ふりがなを取得してみましょう。
セルに =PHONETIC(セル) と入力すると、その漢字の読みが返ります。
ふりがなの種類(ひらがな/カタカナ)はExcelの設定によって変わり、今回はカタカナで返りました。
ひらがなで返る環境もありますが、どちらでも次の手順でカタカナにそろえられます。
PHONETIC関数で漢字からふりがなを取得

STEP3. UPPER関数ではカタカナにならない理由

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

POINT

ひらがな→カタカナは 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) と書いても同じ結果になります。

タカヒロ

タカヒロ
毎回VBAエディターを開くのが面倒なときは、このマクロをボタンに登録しておきましょう。
クリック1つでカタカナに変換できるようになります。
まずは動きを確かめてから、ボタン化していきましょう。


StrConvでひらがなをカタカナに変換した結果

STEP5. ASC関数で全角カタカナを半角カタカナにする

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

STEP6. ASC関数の結果を確認する

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

STEP7. JIS関数で半角カタカナを全角カタカナに戻す

逆に、半角カタカナを全角カタカナに戻したいときはJIS関数を使います。
半角の「サトウ」に =JIS(セル) を使うと、全角の「サトウ」に戻ります。
ASC関数とJIS関数はちょうど反対の働きをする関数です。
どちらも英数字とカタカナ(半角・全角)が対象で、ひらがなには効きません。
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 ひらがな→カタカナ/全角→半角 一括変換やボタン化をしたいとき
POINT

「ひらがなをカタカナにしたい」なら 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つで終わります。
ひらがな→カタカナ・半角カタカナに変換した完成表

さいごに

いかがでしょうか。

今回は、

・エクセルでひらがなをカタカナに一括変換する方法(StrConv関数とASC・JIS関数の使い分け)

についてまとめました。

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



この記事の関連キーワード

こちらの記事の関連キーワード一覧です。クリックするとキーワードに関連する記事一覧が閲覧できます。






コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

CAPTCHA ImageChange Image