【Excel】エクセルで半角から全角に一括変換(カタカナのみ:関数等)する方法 | モアイライフ(more E life)
EXCELのYouTube始めました!

EXCEL初心者に向けたYouTubeチャンネルを開始しました(^^)/
ぜひチャンネル登録よろしくお願いします!

効率よくエクセルを学ぶ!

【Excel】エクセルで半角から全角に一括変換(カタカナのみ:関数等)する方法

Excelのスキルアップ
本サイトでは記事内に広告が含まれています

この記事では「エクセルで半角から全角に一括変換(カタカナのみ:関数等)する方法」について解説していきます。

方法としては下記のようなものを利用して実現します。

JIS関数

・書式設定

VBAマクロ

サンプルデータを用意していますので、それに基づき解説しましょう。

 

スポンサーリンク

エクセルにて半角から全角に一括変換する方法【関数】

 下記サンプルでは、半角の数値・カタカナ・アルファベット(大文字・小文字)及び記号が並べられています。

これらを関数で全角に変換するのがここでのお題です。

セルB2に「=JIS(A2)」 と入力します。

なお、セル参照を行っているので、”(ダブルクォーテーション)で括ってしまうと” A2”という文字列として扱われ、意図する結果となりません。

間違えやすいところなので、注意しましょう。

JIS関数について解説します。

当関数は、半角の文字列を全角に変換する際に使用し、

=JIS (文字列)

と入力します。

指定できる引数は対象の文字列のみです。

ENTERを押すと、全角に変換された文字列が出力されます。

オートフィルを利用してすべてのセルにコピーしましょう。

文字の種類に関係なく変換できることが下記により判明します。

 

エクセルにて半角から全角に一括変換する方法【関数を使わない】

今度は関数を使わない方法を考えてみましょう。

前例と同じデータを使用します。

すべてのデータを選択した状態で右クリック、コンテキストメニューより「セルの書式設定」を実行します。

「セルの書式設定」ダイアログが開いたら、分類で「その他」を選択し、種類に含まれている「全角」を選択します。

ENTERを押すと、全角表示に変更されました。

ただし、この方法を用いることができるのは対象のデータが数値である場合のみとなります。

その点は注意が必要です。

 

 

エクセルにて半角から全角に一括変換する方法【カタカナのみ】

 ここでは、半角カタカナのみを全角に変換する方法を解説します。

下記サンプルにてアルファベット、数値など複数の種類の文字を含んだ簡単な文章が用意されています。

少し敷居は高いですが、VBAマクロを使用します。

最初にVBEを起動させます。

キーボードでAlt+11と押してみましょう。

下記のようなウィンドウが開いたら成功です。

左端に表示されているツリーを右クリックし、「挿入」「標準モジュール」と進みます。

白紙のテキストエディタが開くのでここにコードを実装します。

なお、下記では「Option Explicit」と書かれていますが、これはエクセルの設定次第によってデフォルトで書かれるものであります。

直接動作に影響を与えるものではないので、無視して構いません。

記述するコードは下記の通りです。

 

‘関数名、シートにおいて、この名前で認識される

'関数名、シートにおいて、この名前で認識される
Sub Work()
    '出力先セル
    Dim OutCell As Range: Set OutCell = Range("A2")
    '実行前に空にする
    OutCell.ClearContents
    'ループ変数の用意
    Dim i As Integer
    '変数を用意し、ターゲットの文字列を格納する
    Dim str As String: str = Range("A1")
    '一旦すべてを全角化、StrConvの第2引数に「vbWide」を指定する
    str = StrConv(str, vbWide)
    'strの文字数分ループを行う
    For i = 1 To Len(str)
        'Midでstrのi番目の文字を取得
        Dim s As String: s = Mid(str, i, 1)
        'sの文字コードを取得
        Dim code As Integer: code = Asc(StrConv(Mid(str, i, 1), vbNarrow))
        'アルファベット・数値・記号であれば0~127の範囲に入る
        If (0 <= code And code <= 127) Then
            '半角に戻して出力
            OutCell.Value = OutCell.Value + StrConv(Mid(str, i, 1), vbNarrow)
        Else
            'ここを通る場合はアルファベットでも数値でも記号でもないのでそのまま出力
            OutCell.Value = OutCell.Value + Mid(str, i, 1)
        End If
    'Forの最後はNextを書く
    Next
End Sub

 

なお、’(シングルクォーテーション)の後ろに書いているのはコメントです。

直接動作に影響を与えるものではないので絶対に書く必要はありません。

しかし、メンテナンスまたは仕様変更の際にこれがないと何もできないといった事態に発展する可能性が高いので、書く習慣をつけておくべきといえます。

今回は、当コード内における解説を記載しておきました。

 

ここまでできたらVBEですることは終わりなので閉じてOKです。

シート上に戻りAlt+F8と押します。

下記ダイアログにて作成したマクロ「Work」を選択して、実行をクリックします。

このように、カタカナのみが全角に変換されます。

半角で書かれていた「ランドマークタワー」のみが全角に変換され、アルファベットや数値、元から全角カタカナで書かれていた箇所は何も変化がないことをご確認ください。

 

まとめ エクセルで半角カタカナを全角に変換する方法等【関数など】

 この記事では「【Excel】エクセルで半角から全角に一括変換(カタカナのみ:関数等)する方法」について解説しました。

絶対ではありませんが、カタカナは全角、アルファベット・記号・数字は半角で書くといったルールが定められている企業が多いといえます。

変換ミス等で全角・半角を間違えてしまうことはよくあるので、こうした手法を知っていれば一瞬で修正が可能となります。

毎日の勉強が将来の自身の生産性を左右することを忘れないようにしましょう。

コメント

スポンサーリンク
タイトルとURLをコピーしました