エクセルの全角・半角を変換する方法|ASC・JIS関数の使い分け

エクセルの全角・半角変換の方法

エクセルで全角を半角に変換するにはASC関数、半角を全角にするにはJIS関数を使います。「=ASC(A2)」で英数字とカタカナがまとめて半角になるため、カタカナを全角のまま残したいときは別の数式で英数字だけを変換します。

この記事でわかること

  • ASC関数・JIS関数の書き方と変換される文字
  • カタカナは全角のまま英数字だけ半角にする数式
  • 住所の「ー」が半角の「ー」に化ける落とし穴
  • 変換した結果を元の列に戻す手順
  • 入力の時点で半角にそろえる入力規則の設定

顧客名簿の電話番号や型番に、全角と半角の数字が混じっている。見た目は同じ「123」でも、エクセルは別の文字として扱うので、VLOOKUP関数で引いても一致しません。

全角と半角をそろえるのは、照合や並べ替えの前の下ごしらえです。関数ひとつで済む場面と、少し工夫が要る場面があるので、変えたい文字の種類から方法を選びましょう。

目次

全角・半角を変換する関数の早見表

エクセルの全角・半角変換とは、同じ文字の幅(全角か半角か)を関数でそろえる作業です。使う関数は、変換の向きで決まります。

やりたいこと関数例
全角を半角にする=ASC(A2)ABC123 → ABC123
半角を全角にする=JIS(A2)ABC123 → ABC123
英字を大文字にそろえる=UPPER(A2)abc → ABC
英字を小文字にそろえる=LOWER(A2)ABC → abc
英数字だけ半角(カナは全角のまま)下で紹介する数式AB1アイ → AB1アイ

全角・半角と、大文字・小文字は別の軸です。「Abc」を「ABC」にしたいなら、「=UPPER(ASC(A2))」のように2つを重ねます。

ASC関数で全角を半角にする

全角の英数字やカタカナを半角に変えるなら、ASC関数を使います。書式は「ASC(文字列)」で、引数は変換したい文字か、そのセルだけです。

Microsoft サポート「ASC 関数」によると、全角(2バイト)文字を半角(1バイト)文字に変更する関数で、全角文字が含まれない場合は文字列は変更されません。

ASCで変わる文字・変わらない文字
元の文字=ASC(A2)の結果注意
英数字(ABC123)ABC123目的どおり
カタカナ(アイウ)アイウ半角カナになる
長音(ー)ーハイフンにはならない
全角スペース半角スペース空白の数は同じ
ひらがな・漢字変わらない半角が無い文字

名簿のフリガナ欄のように、カタカナを含む列にASCをかけると半角カナになります。システムに取り込む列で半角カナが禁止されていないか、先に確かめてください。

住所の「ー」が「ー」に化ける

住所の番地を「1ー2ー3」と長音で入力していると、ASCで「1ー2ー3」に変わります。半角の「ー」は長音記号のままで、ハイフン(-)にはなりません。

番地をハイフンでそろえたいなら、ASCの前にSUBSTITUTE関数で長音をハイフンへ置き換えます。

=ASC(SUBSTITUTE(A2,"ー","-"))

ただし住所の建物名(例:グリーンハイツ)にも長音は入っています。建物名の長音までハイフンに置き換わるので、変換後の列を目で確かめてから元の列と差し替えましょう。

JIS関数で半角を全角にする

逆に、半角の英数字やカタカナを全角にそろえるときはJIS関数です。書式は「JIS(文字列)」で、ASCと同じく引数は1つだけです。

Microsoft サポート「JIS 関数」には、日本語では文字列内の半角の英数カナ文字を全角の文字に変換する、と書かれています。

半角カナ(アイウ)を全角カナ(アイウ)に直す用途では、JISがいちばん手軽です。英数字も一緒に全角になるので、英数字は半角のままにしたい表には向きません。

英数字だけを半角にする(カナは全角のまま)

「英数字は半角、カタカナは全角」という表記ルールの書類は多いのに、それを1つで行う関数はありません。Microsoft 365なら、1文字ずつ判定する数式で実現できます。

=CONCAT(MAP(MID(A2,SEQUENCE(LEN(A2)),1),LAMBDA(c,IF(AND(UNICODE(c)>=65281,UNICODE(c)<=65374),UNICHAR(UNICODE(c)-65248),c))))

数式のしくみ
部分していること
MID(A2,SEQUENCE(LEN(A2)),1)文字列を1文字ずつに分ける
UNICODE(c)が65281〜65374全角の英数字・記号かを判定
UNICHAR(UNICODE(c)-65248)対応する半角の文字に置き換える
CONCAT(MAP(…))1文字ずつ処理して1つにつなぐ

全角の英数字と記号は、Unicodeの番号が半角の同じ文字よりちょうど65248大きい位置に並んでいます。その差を引いて半角に戻すしくみで、カタカナや漢字は番号の範囲外なので手を付けません。

UNICHAR関数は、指定された数値で参照されるUnicode文字を返す関数です(Microsoft サポート)。MAPとLAMBDAはMicrosoft 365とExcel 2024で使えるので、それより前の版では、ASCで半角にしたあとPHONETIC関数でカナだけ全角に戻す方法がよく使われています。

この数式で変わらないもの

  • 全角スペース(番号が離れているため。SUBSTITUTEで別に置き換える)
  • 全角の円記号「¥」
  • カタカナ・ひらがな・漢字(そのまま残る)

全角スペースもそろえるなら、外側を「=SUBSTITUTE(数式," "," ")」で包んでください。1つめの" "が全角スペース、2つめが半角スペースです。

変換した結果を元の列に戻す

ASCやJISの結果は数式なので、元の列を消すと結果も消えます。変換し終えたら値に変えて、元の列と差し替えるのが基本の流れです。

  1. となりの列に「=ASC(A2)」を入れ、最終行までコピーする
  2. 変換した列を選んでCtrl+Cでコピーする
  3. 元の列を選び、右クリック→「貼り付けのオプション」の「値」を選ぶ
  4. 作業用に使った列を削除する

ASCの結果は文字列なので、電話番号の「090」は半角にしても先頭の0が残った「090」のままです。金額のように計算に使う列は、よくある質問のQ3の方法で数値に変えてください。

置換で特定の文字だけ直す

全角の「(」「)」だけ半角にしたい、のように直す文字が決まっているなら、置換(Ctrl+H)でも足ります。「オプション」を開くと「半角と全角を区別する」の欄があるので、ここにチェックを入れてください。全角の文字だけが置き換わります。

入力の時点で半角にそろえる

あとから変換するより、入力の段階で半角にそろうようにしておくと手間が減ります。列ごとに日本語入力のオン・オフを決められるのが、入力規則の「日本語入力」です。

  1. 半角で入力させたい列を選ぶ
  2. 「データ」タブ→「データの入力規則」を開く
  3. 「日本語入力」タブで「オフ(英語モード)」を選んでOK

その列のセルを選ぶと、日本語入力が自動でオフになります。電話番号・型番・メールアドレスの列に設定しておくと、全角の数字が混じりにくくなります。

よくある質問

Q1:ASC関数でひらがなが半角になりません

ひらがなと漢字には半角の文字がないため、ASCでは変わりません。半角カナに変わるのはカタカナだけです。

ひらがなをカタカナにしたいときは、PHONETIC関数とふりがなの設定を使う方法があります。

Q2:変換したのにVLOOKUPで一致しません

全角・半角以外の違いが残っている可能性があります。前後のスペース、大文字と小文字、長音「ー」とハイフン「-」の違いを疑ってください。

「=A2=B2」で同じかどうかを確かめ、FALSEなら1文字ずつ見比べると原因が見つかります。

Q3:数字を全角にすると計算できますか?

全角の数字は文字として扱われるため、SUMなどの合計には入りません。計算に使う列は半角の数値にそろえておきましょう。

全角の数字が混じった列は、「=ASC(A2)*1」のように1を掛けると数値に変わります。

Q4:半角カナだけを全角カナにしたい(英数字は半角のまま)

JIS関数は英数字まで全角にするため、そのままでは使えません。半角カナを含む列なら、JISで全角にしたあと、上で紹介した「英数字だけを半角にする」数式をかけると、カナは全角・英数字は半角にそろいます。

Q5:Macでも同じ関数が使えますか?

ASC・JIS・UPPER・LOWERはMac版のExcelでも使えます。英数字だけを半角にする数式は、MAPとLAMBDAに対応した版(Microsoft 365など)が必要です。

まとめ

全角・半角変換の要点

  • 全角→半角はASC、半角→全角はJIS
  • ASCはカタカナも半角カナにし、長音「ー」は「ー」になる
  • 英数字だけ半角にするなら、Unicodeの差(65248)を使う数式
  • 結果は値に貼り付けて元の列と差し替える
  • 入力規則の「日本語入力」で、入力の時点から半角にそろえられる

あわせて読みたい

参考にした公式情報: ASC 関数/JIS 関数/UNICHAR 関数/UPPER 関数(いずれもMicrosoft サポート・2026年10月確認)

※メニューの名称や操作手順はExcelのバージョンにより異なる場合があります。本記事はMicrosoft 365のデスクトップ版Excel(Windows)での操作を前提にした内容です。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

はじめまして、白石です。製造業の生産管理で15年、毎日の実績集計と帳票づくりをExcelでやってきました。マクロを組もうとして早々に挫折し、そこからは「関数と表の機能だけでどこまでやれるか」でしのいできた口です。部門では「この集計どうやるの」と聞かれる係になり、聞かれた内容を手元にメモし続けました。そのメモがいつのまにか、関数名ではなくやりたいことから引く形になっていて、それがこのサイトのもとになっています。Excelは同じことをやるのに何通りもやり方があって、しかもバージョンによって使える関数が違います。ここでは実際に動かして確かめた式だけを載せ、つまずきやすいところと使えないバージョンを先に書くようにしています。

目次