「電話番号やカタカナが全角と半角でバラバラ…」。データを整理しようとして、こんな状態に困ったことはありませんか?
全角半角が混在したまま集計すると、VLOOKUPが不一致になったり、CSVの取り込みでエラーが出たりします。手作業で直すのは現実的ではありませんよね。
ExcelのASC関数を使えば、全角文字を半角に一括変換できます。この記事では、基本の書き方から実務で使える活用パターン7選、よくあるエラーの対処法までまとめました。対になるJIS関数との違いも解説しているので、使い分けに迷わなくなりますよ。
ASC関数とは?全角を半角に変換する基本
ASC(アスキー)関数は、全角文字を半角文字に変換する関数です。名前は文字コードの「ASCII(American Standard Code for Information Interchange)」に由来します。
たとえば「Excel」をASC関数に渡すと「Excel」が返ります。全角の英数字やカタカナ、記号をまとめて半角に変換してくれます。
ひらがなや漢字には半角文字が存在しないため、変換されずにそのまま残ります。混在データでも安心して使えますよ。
ASC関数の書き方(構文と引数)
=ASC(文字列)
引数はたったの1つです。変換したい文字列やセル参照を指定するだけで使えます。
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| 文字列 | 必須 | 半角に変換したい文字列またはセル参照 |
ダブルクォーテーションで囲んで直接文字列を指定することもできます。セル参照と直接指定の両方に対応しています。
変換される文字・変換されない文字(一覧表)
ASC関数で変換される文字と変換されない文字を整理しておきましょう。
| 文字の種類 | 変換前 | 変換後 | 変換される? |
|---|---|---|---|
| 全角英字 | A B C | A B C | される |
| 全角数字 | 123 | 123 | される |
| 全角カタカナ | エクセル | エクセル | される |
| 全角記号 | @#¥ | @# | される |
| 全角スペース | (全角空白) | (半角空白) | される |
| ひらがな | あいう | あいう | されない |
| 漢字 | 東京都 | 東京都 | されない |
| 半角文字 | abc123 | abc123 | 変換不要 |
全角カタカナの濁音・半濁音は、半角に変換すると2文字に分かれます。たとえば「ガ」は「ガ」になります。「パ」は「パ」です。これは半角カタカナの仕様なので、正常な動作ですよ。
Googleスプレッドシートでも使える?
はい、ASC関数はGoogleスプレッドシートでもまったく同じ書き方で使えます。構文も動作もExcelと同じなので、覚え直す必要はありません。
ASC関数の基本的な使い方
セル参照で変換する
セルA1に「03−1234−5678」と入っている場合、次のように書きます。
=ASC(A1)
結果は「03-1234-5678」です。全角の数字とハイフンがすべて半角に変換されます。
実務では、この数式を下方向にコピーして一括変換するのが定番の使い方です。
文字列を直接指定する
ダブルクォーテーションで文字列を囲めば、セルを使わず直接変換もできます。
=ASC("カタカナ")
結果は「カタカナ」です。動作確認やちょっとした変換に便利ですよ。
ASC関数の実務活用パターン7選
ここからは、実務でよく使うASC関数の組み合わせパターンを紹介します。
パターン1:電話番号を半角に統一する
入力フォームから集めたデータは、電話番号が全角混じりになりがちです。ASC関数で一括変換しましょう。
=ASC(A2)
「03−1234−5678」が「03-1234-5678」になります。ハイフンも含めて半角に揃います。
さらにハイフンを除去したい場合は、SUBSTITUTE関数と組み合わせます。
=SUBSTITUTE(ASC(A2), "-", "")
ASCで半角に揃えてから、SUBSTITUTEでハイフンを除去する流れです。結果は「0312345678」になります。
パターン2:カタカナを半角に変換する
銀行振込データや経理システムでは、半角カタカナが標準です。全角カタカナで入力されたデータをASC関数で変換すれば、そのままシステムに取り込めます。
=ASC(B2)
「カブシキガイシャ」が「カブシキガイシャ」に変換されます。データベースやCSV出力で文字数制限がある場合にも効果的です。
パターン3:TRIM関数と組み合わせてデータクレンジング
外部から取り込んだデータには全角半角の混在だけでなく、余分なスペースも含まれています。ASC関数とTRIM関数を組み合わせると、まとめてきれいにできます。
=TRIM(ASC(A2))
この数式では2つの処理を行っています。
- ASC: 全角文字を半角に変換(全角スペースも半角スペースに)
- TRIM: 余分な半角スペースを除去
ASC関数は全角スペースを半角スペースに変換します。TRIMだけでは全角スペースを除去できないため、先にASCで半角に揃えるのがポイントです。
パターン4:CSVデータの一括クレンジング(UPPER組み合わせ)
外部システムからCSVで取り込んだデータを、まとめてクレンジングしたいケースです。ASC・TRIM・UPPER関数を組み合わせましょう。
=UPPER(TRIM(ASC(A2)))
この数式では3つの処理を入れ子にしています。
- ASC: 全角文字を半角に変換
- TRIM: 余分なスペースを除去
- UPPER: アルファベットを大文字に統一
CSV取り込み直後にこの数式を隣の列に入れて、まとめてクレンジングするのがおすすめです。クレンジング後のデータを「値のみ貼り付け」で上書きすれば、元の列もきれいになりますよ。
パターン5:VLOOKUPの検索で全角半角の不一致を防ぐ
商品コードが「ABC−001」と「ABC-001」のように混在していませんか? VLOOKUP関数で検索すると、全角半角の違いで不一致になることがあります。
ASC関数で半角に統一してから検索しましょう。
=VLOOKUP(ASC(A2), 商品マスタ!A:C, 3, FALSE)
検索値をASCで半角に揃えてから照合するテクニックです。マスタ側も半角で統一しておけば、入力のゆれに左右されなくなります。
パターン6:LEN関数と組み合わせて全角文字の有無をチェック
ASC関数で変換した結果と元の文字列の文字数を比べると、全角文字が含まれているかチェックできます。
=IF(LEN(A2)=LEN(ASC(A2)), "OK", "全角あり")
全角カタカナをASCで半角に変換すると、濁音・半濁音が2文字に分かれます。そのためLEN関数で文字数を比較すると差が出るわけです。
NOTE
この方法では全角ひらがな・漢字は検出できません。ひらがな・漢字には半角がないため、ASC関数で変換しても文字数が変わらないからです。全角英数字・全角カタカナ・全角記号の検出に有効です。
パターン7:PHONETIC関数と組み合わせてフリガナを半角カタカナに変換
PHONETIC関数でふりがなを取得し、ASC関数で半角カタカナに変換するパターンです。
=ASC(PHONETIC(A2))
PHONETIC関数はIMEのふりがな情報を全角カタカナで返します。これをASCに通すと、半角カタカナに変換されます。
銀行振込データの受取人名カナなど、半角カタカナが必須のシステム連携で重宝します。
NOTE
PHONETIC関数はExcelのIMEで入力されたふりがな情報を取得します。CSVインポートしたデータにはふりがなメタデータがないため、PHONETIC関数では取得できません。
ASC関数のよくあるエラーと対処法
ASC関数は引数が1つだけのシンプルな関数なので、エラーが発生するケースは限られています。
| 症状 | 原因 | 対処法 |
|---|---|---|
| 変換されない | ひらがな・漢字のみのデータ | 半角がない文字は変換対象外。正常な動作です |
| #NAME? | 関数名のスペルミス | 「ASC」のスペルを確認してください |
| #VALUE! | 参照先が配列で非対応の書き方 | 単一セル参照に変更するか、スピル対応の書き方にしてください |
| 濁音が2文字になる | 半角カタカナの仕様 | 「ガ」→「ガ」は正常動作。文字数が増えるのは仕様です |
TIP
ASC関数は「変換するものがない」場合でもエラーになりません。半角文字だけのセルを渡しても、そのまま返ってくるだけです。空のセルを渡しても空文字列が返るので、安心して一括適用できますよ。
ASC関数とJIS関数の違い・使い分け
ASC関数には対(つい)になる関数があります。JIS関数(ジス)は、ASC関数とは逆に半角を全角に変換する関数です。
| 関数 | 動作 | 変換例 | 主な用途 |
|---|---|---|---|
| ASC | 全角→半角 | Excel → Excel | 電話番号・管理コードの統一 |
| JIS | 半角→全角 | Excel → Excel | 請求書・帳票の体裁統一 |
この2つは完全に対称な関係です。=ASC(JIS("A")) は「A」に戻ります。
使い分けのポイント:
- データベースやCSVに出力する → ASC関数(半角に統一)
- 請求書や帳票など印刷物の体裁を整える → JIS関数(全角に統一)
迷ったら「データ処理向け=ASC」「見た目重視=JIS」と覚えてみてください。
文字列変換関数の全体像
全角半角の変換以外にも、Excelには文字列を変換する関数がそろっています。目的に応じて使い分けましょう。
| 関数 | 変換内容 | 記事リンク |
|---|---|---|
| ASC | 全角→半角 | この記事 |
| JIS | 半角→全角 | JIS関数の使い方 |
| UPPER | アルファベットを大文字に | UPPER関数の使い方 |
| LOWER | アルファベットを小文字に | LOWER関数の使い方 |
| PROPER | 単語の先頭を大文字に | PROPER関数の使い方 |
| SUBSTITUTE | 指定文字を置換 | SUBSTITUTE関数の使い方 |
| TRIM | 余分なスペースを削除 | TRIM関数の使い方 |
| CLEAN | 印刷できない文字を削除 | CLEAN関数の使い方 |
| TEXT | 表示形式を指定して変換 | TEXT関数の使い方 |
まとめ
ASC関数は =ASC(文字列) と書くだけで、全角文字を半角に一括変換できるシンプルな関数です。
- 引数は文字列の1つだけ
- 全角英数字・カタカナ・記号・スペースが半角に変換される
- ひらがな・漢字は変換されずそのまま残る
- 電話番号やコードの統一、CSVクレンジングに便利
- TRIM関数と組み合わせれば、全角スペースの除去もまとめてできる
- 半角→全角の逆変換はJIS関数を使いましょう
データの全角半角を統一するだけで、VLOOKUPの不一致やCSVエラーを防げます。ぜひ活用してみてください。
関連記事
- ExcelのJIS関数の使い方|半角を全角に一括変換する方法
- ExcelのUPPER関数の使い方|アルファベットを大文字に変換する方法
- ExcelのLOWER関数の使い方|アルファベットを小文字に変換する方法
- ExcelのPROPER関数の使い方|単語の先頭を大文字に変換する方法
- ExcelのSUBSTITUTE関数の使い方|文字列を置き換える方法
- ExcelのTRIM関数の使い方|余分なスペースを一括削除する方法
- ExcelのCLEAN関数の使い方|印刷できない文字を削除する方法
- ExcelのVLOOKUP関数の使い方|データ検索の基本
- ExcelのLEN関数で文字数カウント|LENB関数との違いも解説
- ExcelのPHONETIC関数の使い方|ふりがなを取得する方法
- ExcelのTEXT関数の使い方|表示形式を自由に指定して文字列に変換する方法
