Notice: 関数 _load_textdomain_just_in_time が誤って呼び出されました。cocoon ドメインの翻訳の読み込みが早すぎました。これは通常、プラグインまたはテーマの一部のコードが早すぎるタイミングで実行されていることを示しています。翻訳は init アクション以降で読み込む必要があります。 詳しくは WordPress のデバッグをご覧ください。 (このメッセージはバージョン 6.7.0 で追加されました) in /home/xs182025/consulting-campus.site/public_html/wp-includes/functions.php on line 6114
Excelで全角を半角に変換する【英数字やファイル全ての変換も】 | CONSULTING CAMPUS

Excelで全角を半角に変換する【英数字やファイル全ての変換も】

convert-full-width-to-half-width エクセル
この記事は約6分で読めます。
スポンサーリンク

本記事では、エクセルファイルにおいて全角を半角に変換する方法をご紹介します。特に英数字や記号、スペースなどで全角と半角が混在していると見栄えがよくないだけでなく、データとして処理をする際にエラーや予期せぬ動作が起こってしまう場合があります。本記事ではASC関数やVBAを使用して、簡単・自動・一括で全角を半角に変換する方法を解説します。

下記のようなお悩みを持つ方に向けた記事となっています。

  • エクセルファイル内で全角と半角が混在している…
  • 数字が全角で入力されているためエラーになってしまう
本記事で実装する処理
ASC関数による全角と半角の変換のイメージ
スポンサーリンク

Excelで全角を半角に変換する方法

Excelで全角を半角に変換する方法は下記の2パターンが考えられます。
ASC関数を使用する場合は、特定のセルや列など一部のデータを簡単に全角から半角に変換したい場合に適しています。一方でブック (ファイル) 内のすべての文字で全角を半角に変換したい場合はVBAを使うことで効率的に実装できます。

ASC関数でセルごとの値を全角から半角に変換する

ExcelにはASC関数があり、これを使うことでセルの値を全角から半角に変換することができます。ASC関数はセルに入力して使用していくため、特定のセルや列・行などの範囲に対して手動で変換を行いたい場合に適しています。英数字・記号・スペースなどが変換の対象となります。

全角を半角に変換するASC関数の使用方法

使用方法としては、下記の通り通常の関数の通りセル内でASC関数を打ち込んでください

  1. 全角から半角に変換したいセルとは別に、空いているセルに=ASC(A1)と入力し、Enterキーを押します
  2. そのセルに、A1の全角文字が半角文字に変換された値が表示されます
ASC関数による全角と半角の変換

こちらの変換を特定の行や列などのセル範囲で行いたい場合は、このASC関数を含むセルをコピーして他のセルに入力します。セルのコピーはCtrl + C、数式の貼付けはCtrl + Vで実行できます。

ASC関数のコピーペースト

ASC関数の詳細・トラブルシューティング

ASC関数の文法や公式ドキュメントは下記のとおりです。

補足: 主に日本語のダブルバイト文字セットで使用されます。

また、ASC関数はExcelの言語設定を日本語に設定しないと使用できない場合があります。Microsoftコミュニティでは下記のような投稿とトラブルシューティングがあります。ExcelでASC関数がエラーや使用できない場合は参考にしてください。

ファイル > オプション > 言語 > 編集言語の選択で「英語(米国)」を選択して「既定に設定」→「OK」としてExcelを再起動するとASC関数を使用した場合、全角の英数カナが半角の英数カナになりませんでした。
言語を「日本語」にして「既定に設定」した場合、ASC関数で全角→半角にすることが出来ました。
ただし、日本語を既定に設定して再起動しても、既に「英語(米国)」で変換済みのセルの値は半角にはなってくれませんでした。

Excel2016 ASC関数について

VBAを使用してファイル内の全ての全角を半角に一括変換する

次に、VBAを使用してExcelファイル内の全てのシート、全てのセルの全角文字を半角に一括で自動変換する方法をご紹介します。全角の存在の有無を気にせず、一度コードを実行すると解決するためシンプルかつ強力な方法となります。ASC関数と同様に、英数字・記号・スペースなどが変換の対象となります。

ファイル内の全ての全角を半角に一括変換するVBAは以下の手順で実行できます。

  1. Excelを開き、VBAエディタを起動します (ショートカットキー: Alt + F11)
    ビジュアルエティタの開き方
  2. [挿入]→[モジュール]から新しいモジュールを挿入します
    モジュールの挿入の仕方
  3. 以下のVBAコードをモジュールウィンドウに貼り付けます
    Sub ConvertAllSheetsFullWidthToHalfWidth()
        'written by consulting-campus.site
        Dim ws As Worksheet
        Dim cell As Range
        
        Application.ScreenUpdating = False
        
        For Each ws In ActiveWorkbook.Worksheets
            For Each cell In ws.UsedRange
                If Not cell.HasFormula Then
                    cell.Value = StrConv(cell.Value, vbNarrow)
                End If
            Next cell
        Next ws
        
        Application.ScreenUpdating = True
        MsgBox "完了しました"
    End Sub
  4. 最後に、F5キーまたは[実行]タブ→[Sub/ユーザーフォームの実行]からコードを実行します
    (VBAのより詳しい説明については【丁寧に解説】エクセルでマクロ・VBAを実行するをご確認ください)

こちらを実行すると、現在の表示中の全てのシート・セルにおいて、元々の値が全角から半角に変換されます。より細かい情報についてはStrConv 関数 – Microsoft公式ドキュメントをご確認ください。

こちらの方法ではASC関数の場合と異なり処理を巻き戻すことができません。全ての全角英数字を半角に変換して問題ないか確認したり、元のファイルをバックアップしたりしてから実行するようにしてください。

まとめ

以上が、Excelで全角の英数字や記号などを半角に変換する方法のご紹介となります。ASC関数やVBAを使用する方法など、変換したい値の範囲や細かい条件に合わせてこれらを使い分けてください。

ご質問やご不明点がある場合はお気軽にコメントお待ちしております。

ご精読いただきありがとうございました。

コメント

タイトルとURLをコピーしました