エクセル

【Excel】エクセルで半角を全角に変換(カタカナのみ・数字のみ・関数を使用した一括変換)

当サイトでは記事内に広告を含みます

エクセルで住所や氏名のデータを管理しているとき、半角カタカナや半角数字が混在していて統一できずに困った経験はないでしょうか。

半角を全角に変換する機能は、データのクリーニングや表記の統一に欠かせない操作です。

エクセルにはJIS関数・ASC関数をはじめ、文字種ごとに変換をコントロールするための手段が複数用意されています。

本記事では、関数を使った半角→全角の一括変換から、カタカナのみ・数字のみを変換する方法まで、実践的なテクニックを詳しく解説していきます。

目次

エクセルで半角を全角に変換するJIS関数の基本と使い方

それではまず、エクセルで半角文字を全角文字に変換するために使用するJIS関数について解説していきます。

JIS関数はエクセルに標準搭載された変換関数であり、半角文字を全角に一括変換する最もシンプルな方法です。

JIS関数の基本情報

構文:=JIS(文字列)

変換対象:半角英数字・半角カタカナ・半角記号など

変換しないもの:全角文字・ひらがな(元々全角)

逆操作(全角→半角):ASC関数を使用

使い方はシンプルで、変換したいセルを引数に指定するだけです。

たとえばA1セルに「アイウエオ123」(半角カタカナ+半角数字)が入力されている場合、=JIS(A1)と入力すると「アイウエオ123」(全角)に変換されます。

JIS関数はセル内のすべての半角文字を一括で全角に変換するため、特定の文字種だけを変換したい場合は追加の工夫が必要です。

JIS関数の基本操作手順と一括変換の方法

複数のセルに含まれる半角文字を一括で全角変換する手順を確認していきます。

【一括変換の操作手順】

1. 変換後の値を表示するための空白列を用意する

2. 空白列の最初のセルに=JIS(A2)など対象セルを参照する数式を入力する

3. 数式を下方向にオートフィルで一括適用する

4. 変換後の列をコピーし、元の列に値のみ貼り付けする

5. 不要になった変換用の列を削除する

手順4の「値のみ貼り付け」を行うことで、数式を削除して変換済みのテキストデータとして確定させることができます。

Ctrl+Alt+Vから「値」を選択して貼り付ければ完了です。

大量のデータを一括変換するときは、このフローを覚えておくことが大切でしょう。

JIS関数とASC関数の違いと使い分け

JIS関数とASC関数は逆の機能を持つ対になる関数です。

関数名 変換の方向 使用シーン
JIS関数 半角 → 全角 半角混在データを全角に統一する
ASC関数 全角 → 半角 全角混在データを半角に統一する

顧客データのクリーニングや名簿の表記統一など、どちらの変換が必要かによって使う関数を切り替えます。

住所データは全角に統一するのが一般的であり、メールアドレスや電話番号は半角で統一するのが基本でしょう。

どちらの関数も引数はセル参照一つだけという非常にシンプルな構文で、初心者でも扱いやすい点が特徴です。

SUBSTITUTE関数と組み合わせた特定文字の変換

JIS関数はすべての半角文字を全角に変換しますが、特定の文字だけを変換したい場合はSUBSTITUTE関数を組み合わせます。

たとえば半角スペースを全角スペースに変換したい場合は以下のような数式を使います。

=SUBSTITUTE(A1,” “,” ”)

→ 半角スペースを全角スペースに置換する(” ”の中は全角スペース)

この方法は、JIS関数では制御できない細かい文字種別の変換に対して有効です。

半角の「-」(ハイフン)を全角の「-」に変換したい場合なども、SUBSTITUTE関数を使うとよいでしょう。

カタカナのみを半角から全角に変換する方法

続いては、半角カタカナのみを全角カタカナに変換し、数字や英字は半角のまま残す方法を確認していきます。

住所データでは数字は半角のままにしたいが、カタカナ氏名は全角にしたい、というケースが多いでしょう。

JIS関数とASC関数を組み合わせてカタカナのみ全角にする

カタカナのみを全角にして数字は半角に戻す方法として、JIS関数で一旦すべて全角にした後、ASC関数で数字・英字を半角に戻す組み合わせが使えます。

考え方の例:

①=JIS(A1)でカタカナ・数字・英字をすべて全角に変換

②変換後のデータで数字・英字のみをSUBSTITUTE等で半角に戻す

または

ASC関数で全体を半角にし、カタカナのみJISで全角に戻す

ただし、この組み合わせは非常に複雑な数式になりやすいです。

文字種を限定した変換は、VBAのReplaceメソッドやユーザー定義関数を使う方が柔軟かつ効率的でしょう。

Excel標準の関数だけではカタカナのみを限定変換するのが難しいため、VBAの活用を検討することも有効です。

Excelの「フラッシュフィル」で変換パターンを自動認識させる方法

フラッシュフィル機能を使うと、変換のパターンを自動的に認識して残りのセルに適用してくれます。

変換したいデータの隣列に手動で1〜2件の変換後データを入力し、3件目のセルにCtrl+Eを押すと、フラッシュフィルが起動します。

「アイウ」→「アイウ」というパターンを認識すれば、残りのセルも自動で変換してくれます。

ただしフラッシュフィルはパターンが複雑な場合に正確に認識できないこともあるため、確認後に使用することが大切でしょう。

Power Queryで文字種変換を効率的に行う方法

Excel 2016以降で使えるPower Queryを活用すると、データのインポート時に文字変換処理を組み込むことができます。

「データ」タブ→「データの取得と変換」からPower Queryエディターを起動し、変換対象の列を選択した上でカスタム列の追加から変換式を記述します。

Power QueryではM言語のText.Upper・Text.Lower関数などが使えますが、半角→全角の直接変換関数はないため、置換リストを使ったカスタム処理が必要です。

大規模データの定期的な変換処理にはPower Queryが非常に有効な選択肢でしょう。

数字のみを半角から全角に変換する方法と実用例

続いては、数字のみを半角から全角に変換する具体的な方法と、実務での活用シーンを確認していきます。

帳票や書類では全角数字を使う場合があり、自動変換が求められる場面も多いです。

SUBSTITUTE関数の入れ子で数字のみを全角に変換する

0〜9の半角数字を全角数字に変換するには、SUBSTITUTE関数を入れ子にする方法が使えます。

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,”0″,”0”),”1″,”1”),”2″,”2”),”3″,”3”),”4″,”4”),”5″,”5”),”6″,”6”),”7″,”7”),”8″,”8”),”9″,”9”)

→ A1セル内の半角数字0〜9をすべて全角数字に変換する

数式は長くなりますが、関数のみで実現できる確実な方法です。

よく使う場合はこの数式に名前を付けて管理するか、VBAユーザー定義関数として登録してしまう方が効率的でしょう。

VBAで数字のみを全角変換するユーザー定義関数

数字のみを全角変換するVBAユーザー定義関数を作成すると、=数字全角(A1)という形で繰り返し使えます。

Function 数字全角(str As String) As String

 Dim i As Integer

 Dim c As String

 Dim result As String

 For i = 1 To Len(str)

  c = Mid(str, i, 1)

  If c >= “0” And c

   result = result & Chr(Asc(c) + 65248)

  Else

   result = result & c

  End If

 Next i

 数字全角 = result

End Function

このコードでは、半角数字のAscコードに65248を加算することで全角数字のコードに変換しています。

65248という値が半角と全角のUnicodeの差分であり、カタカナや英字の変換にも同じ考え方が応用できます。

数字を全角に変換する実務での活用シーン

全角数字が求められる実務シーンとして、以下のようなケースが挙げられます。

活用シーン 全角数字が必要な理由
公的書類・契約書 改ざん防止・書式ルールによる全角指定
縦書き文書 縦書きで自然な見た目にするため
郵便番号の表記統一 一部のシステムで全角数字を要求
印刷物のデザイン フォントの見た目を統一するため

特に縦書きのエクセル文書では、半角数字が横向きになってしまうため全角数字の使用が必要です。

このような場面では変換関数を使いこなすことで作業効率が大きく向上するでしょう。

まとめ

本記事では、エクセルで半角を全角に変換する方法について、JIS関数の基本から特定の文字種のみを変換する応用テクニックまで解説してきました。

JIS関数はすべての半角文字を全角に一括変換する最もシンプルな方法として最初に覚えておくべき関数です。

カタカナのみ・数字のみを変換したい場合は、SUBSTITUTE関数の入れ子やVBAユーザー定義関数が実用的な選択肢となります。

フラッシュフィルを使った方法も、単純なパターンであれば素早く対応できる便利な機能です。

データのクリーニングや表記統一は、エクセルを使った業務において非常に重要な作業でしょう。

これらの変換テクニックを習得することで、データ整理の効率と品質が大幅に向上します。

ABOUT ME
white-circle7338
私自身が今まで経験・勉強してきた「エクセル」「ビジネス用語」「生き方」などの情報を、なるべくわかりやすく、楽しく、発信していきます。 一緒に人生を楽しんでいきましょう