数式・関数

【Excel】半角・全角がバラバラに入っているデータを統一したい

スポンサーリンク
この記事は約6分で読めます。

複数の人が1つのファイルにデータを入力する場合、「英数カナや記号は半角で!」とあらかじめルール決めをしていても気づけば全角半角が混在して統一性に欠けるデータになってしまうのは結構よくある話です。

しかし、すでに多くのデータが入っている状態から1つ1つ直していくのは手間も時間もかかります。本日はこのような事態に役立つ全角半角を統一する関数のお話です。

※解説画像はMicrosoft365のExcelを使用しています

スポンサーリンク

英数カナを全角⇒半角にする「ASC関数」

まずセル内の文字に含まれる全角の英数カナをすべて半角に変更する「ASC(アスキー)関数」から見ていきましょう。

数式の作りは至って単純です。

=ASC(文字列)

引数の(文字列)の部分には、半角に修正したい文字列が入力されたセル番地を指定します。

こちらにセルA1~A3に全角文字で入力されたサンプルデータがあります。これをすべて半角にしてみましょう。結果を出すセルはB1~B3を使用します。

全角の英数カナデータサンプル

セルB1にカーソルを合わせ、=ASまで入力すると数式の候補上位にASCが表示されますので、選択されている事を確認しTabキーを押します。

ASCが数式候補に表示された状態

対象の文字列が入ったセルA1をクリックし、セル番地の「A1」を入力します。(A1と直接入力しても大丈夫です)

引数のセル番地を入力したところ

閉じ括弧「)」を入力してEnterを押します。

引数の閉じ括弧を入力したところ

文字列が半角に変更されました。セルB1にカーソルを戻し、フィルハンドルをB3までドラッグして数式をコピーしましょう。

フィルハンドルの位置

すべて半角文字列に変更できました。ちなみにA3に「-」(ハイフン)が入っていますが、記号についても全角で入っていれば半角に変更されます。

半角修正後の状態

英数カナを半角⇒全角にする「JIS関数」

さきほどとは逆、半角英数カナを全角にしたい時は「JIS(ジス)関数」を使います。

=JIS(文字列)

使い方はASCと同様、括弧()内の引数には変更したい文字列の含まれるセル番地を指定します。下図のA1~A3に半角英数カナで文字列が入力されているサンプルデータを使って、全角に変更してみましょう。結果はまたB1~B3に出す事とします。

半角英数カナのサンプル

セルB1に「=J」まで入れるともうJISが変換候補として選択されていますね。「J」で始まる関数は「JIS」しかありませんので、このままTabを押して入力しましょう。
※2020年12月現在

数式オートコンプリートでJISが表示された状態

セルA1をクリックしてセル番地を入力したら閉じ括弧を入力します。

引数と閉じ括弧まで入力したところ

Enterを押すと全角に変更されました。B1にカーソルを戻し、フィルハンドルをB3までドラッグしましょう。

フィルハンドルの位置

記号も含めすべて全角に変更されました。

全角に修正されたところ
どぐうさん
どぐうさん

ASCもJISも文字列操作というカテゴリの関数です。[数式]タブの関数ライブラリから数式を入力する場合は「文字列操作」をクリックして一覧から選択しましょう。

変更し終わったら必ず「値を確定」しよう

ASCもしくはJISで全角⇔半角を変更した段階では、数式は変更前のデータが入っているセルを参照しているだけの状態ですので、もう元の列はいらないやとそのままデータをDeleteしたり列削除してしまうと・・

数式の参照元となる列を削除するところ

数式が参照していた文字列が消えてしまうのでエラーになってしまいます。

参照元不明となり数式がエラーになったところ

ASCやJISで変更した後は、最後に必ず「数式の結果の値」を「元データに上書き」する作業を行いましょう。

先ほどの「JIS関数」で全角に修正したサンプルデータを使ってやってみます。数式を入力したセルB1~B3をドラッグで範囲選択し右クリック⇒「コピー」をクリックします。

数式の範囲を選択してコピーしたところ

貼り付け先の先頭のセル(A1)を選択して右クリック⇒「貼り付けのオプション」から「」(クリップボードに数字で「123」と書かれたアイコン)をクリックします。

貼り付けのオプションの値アイコン
はにわ先生
はにわ先生

コピーしてそのまま「貼り付け」してしまうと数式ごと貼り付けされてしまうので、必ず「値」のみ貼り付けするようにしましょう!

「値」を貼り付けすると、結果の値だけが貼り付けされます。これでB列の数式はもう不要になりますので、列削除しましょう。

値をA列に上書きしてB列を削除したところ

参考:氏名・住所データの修正例

住所の番地や方書の英数カナ記号を半角で統一する

こちらのシートのA列に住所が入力されていますが、番地の数字や記号が全角半角混在しています。B列にASC関数を使って全角部分を半角にした結果を表示し、最終的にA列の住所を数字・記号を半角で統一したデータに修正してみます。(実際の住所リストなどは隣の列に別のデータが入力されていると思いますので、その場合は数式を入れる列を1列挿入してください)

セルB2に=ASC(A2)と入力しEnterを押します。

漢字かな、英数記号が全半角混在している状態の住所リスト例

A列の住所には漢字やひらがなも使われており、最初から半角で入っている数字や記号もありますが、ASCでは対象外の文字(漢字、ひらがな)や修正不要の英数カナ(既に半角で正しく入っている文字列)などは無視しますので気にする必要はありません。(JISの場合も同様です)

数式を入れ終わったら、データの終点までフィルハンドルをドラッグして数式をコピーし、そのまま右クリックして「コピー」をクリックします。

数字記号をASCで修正した結果

A列のデータの先頭(A2)を選択し右クリック⇒「貼り付けのオプション」から「値」をクリックします。

貼り付けのオプションで値を選択するところ

A列のデータが半角統一された値で上書きされたら、B列は列削除しましょう。

こちらはカナと数字が混在する方書を想定したデータですが、英数カナ記号のうちカナだけを全角にしたいといった使い方はできませんので、ASCで変更すると下図のように漢字以外はすべて半角に変更されます。

カタカナの半角修正結果

氏と名の間のスペースを全角で統一する

氏名をひとつのセルに入力する場合、一般的には氏と名の間にスペースを1つ入れる事が多いと思いますが、このスペースも全角半角が混在しやすいポイントです。

ではこちらの氏名の間のスペースを全角に統一してみましょう。(スペースも記号なので、ASCやJISの変更対象になります)

氏名の間のスペースが全角半角混在している状態

B2に「=JIS(A2)」と入力します。元々A2は全角スペースが正しく入力されていたのでEnterを押しても変化はないのですが、気にせずオートフィルで一番下の行まで数式をコピーしましょう。

先頭のセルにJIS関数を入力したところ

スペースが全角で統一されました。あとは、セルB2~B6までをコピーして、A2~A6に「値」のみ貼り付けを行いましょう。

尚、スペースの全角半角を統一した時、他のセルと比べると間の空き方が不自然な箇所が発生する場合があります。下図は先のデータを少しいじってみたものですが、セルB5をよく見ると、B4やB6よりも氏と名の間が広いですよね。元データのA5は半角っぽくも見えるのですが・・・

実はこれ、A5に入っているスペースが「半角2つ」で入力されていたために、JISで変更した結果が全角2つ分の不自然な空間になっているのです。このような場合は元データから余計なスペースを削除しましょう。

文字と文字の間に入っている複数のスペースを1つに修正する関数もあります。
詳しくは不要なスペースを削除する「TRIM関数」の回を参考にしてください。

近年のデザイン性の高いフォントでは、文字種によっては目視で全半角の区別がつきづらいものがありますが、JISやASCを使うとこういった見えにくいミスを発見する事もできます。

スポンサーリンク
でじログ部