【1分で解決!】Excelで文字コードを関数変換するコツ
Excelで文字コードを変換したいけれど、どの関数を使えばいいかわからない…そんな悩みを解決します。
Excelには文字コードを扱うための4つの関数(CODE・CHAR・UNICODE・UNICHAR)が用意されています。これらを使いこなせば、文字と数値コードの相互変換、セル内改行の挿入、連続アルファベットの自動生成まで、さまざまな場面で業務を効率化できます。
本記事では、4つの文字コード関数の使い方を実務例付きで解説。さらにCSVファイルの文字化け対処法や、よく使う文字コード一覧表まで紹介します。
- CODE関数・CHAR関数の基本的な使い方
- UNICODE関数・UNICHAR関数との違い
- CHAR(10)で改行を挿入するテクニック
- 連続アルファベットを自動生成する方法
- CSV・テキストファイルの文字化け対処法
- よく使うASCIIコード一覧表
Sub 文字コード変換()
Dim ws As Worksheet
Set ws = ActiveSheet
Dim i As Long
For i = 2 To 6
ws.Cells(i, “B”).Value = Asc(ws.Cells(i, “A”).Value)
ws.Cells(i, “C”).Value = Chr(ws.Cells(i, “B”).Value + 1)
Next i
MsgBox “5件の文字コード変換が完了しました”
End Sub
| A | B | C | |
|---|---|---|---|
| 1 | 文字 | ASCコード | 次の文字 |
| 2 | A | 65 | B |
| 3 | Z | 90 | [ |
| 4 | a | 97 | b |
| 5 | 0 | 48 | 1 |
| 6 | ! | 33 | " |
☝ Asc関数で文字→コード、Chr関数でコード→文字に変換できます
文字コードとは?Excelで知っておくべき基礎知識
文字コードとは、コンピューターが文字を数値として記録・管理するための仕組みです。キーボードで「A」と入力すると、内部では数値「65」として処理されています。
主要な文字コードの種類
| 文字コード | 説明 | 対応範囲 |
|---|---|---|
| ASCII | 半角英数字・記号(0〜127) | 英語圏の基本文字 |
| JIS (Shift_JIS) | 日本語向け。ひらがな・カタカナ・漢字対応 | 日本語Windows標準 |
| Unicode (UTF-8/UTF-16) | 世界中の文字を統一的に扱う国際規格 | 多言語対応 |
ExcelとUnicodeの関係
- Excel(.xlsx)は内部でUTF-16を使用
- CSVファイルは保存時の文字コードによって文字化けの原因になる
- CODE関数は半角→ASCII、全角→JISコードを返す
- UNICODE関数はすべての文字のUnicodeコードポイントを返す
VBA開発・GAS連携・Webアプリ化まで、
業務に合わせた最適な自動化をご提案します。
LINEでExcelを気軽に学べる
CODE関数の使い方|文字を文字コードに変換する
CODE関数は、指定した文字列の最初の1文字を文字コード(数値)に変換する関数です。
CODE関数の構文と基本例
構文: =CODE(文字列)
| 数式 | 結果 | 説明 |
|---|---|---|
=CODE("A") | 65 | 半角英字AのASCIIコード |
=CODE("a") | 97 | 半角小文字aのASCIIコード |
=CODE("1") | 49 | 数字1のASCIIコード |
=CODE("あ") | 33440 | ひらがな「あ」のJISコード |
=CODE(" ") | 32 | 半角スペースのASCIIコード |
- 半角文字 → ASCIIコードを返す
- 全角文字 → JISコード(Shift_JIS)を返す
- 文字列の最初の1文字のみ変換(”ABC”は”A”のコードを返す)
- 空のセルを指定すると#VALUE!エラー
CODE関数の実務での活用例
大文字・小文字の判定
半角英字の大文字はASCIIコード65〜90、小文字は97〜122です。これを利用して判定できます。
=IF(AND(CODE(A1)>=65,CODE(A1)<=90),"大文字","小文字")データのクリーニング(不可視文字の検出)
セルに見えない制御文字が混入している場合、CODE関数で確認できます。
=CODE(LEFT(A1,1))結果が32未満なら制御文字が混入しています。
CHAR関数の使い方|文字コードを文字に変換する
CHAR関数は、CODE関数の逆で、文字コード(数値)を対応する文字に変換します。
CHAR関数の構文と基本例
構文: =CHAR(数値)
| 数式 | 結果 | 説明 |
|---|---|---|
=CHAR(65) | A | ASCIIコード65 = 大文字A |
=CHAR(97) | a | ASCIIコード97 = 小文字a |
=CHAR(49) | 1 | ASCIIコード49 = 数字1 |
=CHAR(10) | (改行) | セル内改行コード |
=CHAR(9) | (タブ) | タブ文字 |
CHAR(10)でセル内改行を挿入する【最頻出テクニック】
CHAR関数で最も使われるのが、CHAR(10)によるセル内改行です。
使用例: セルA1の値とB1の値を改行で結合する
=A1&CHAR(10)&B1- セルの書式設定で「折り返して全体を表示する」をONにする必要がある
- Windows: CHAR(10) = LF(改行)
- Mac: CHAR(13) = CR(改行)
連続アルファベットを自動生成する方法
CHAR関数とROW関数を組み合わせると、A〜Zの連続アルファベットを自動生成できます。
=CHAR(ROW(A1)+64)- 1行目: ROW(A1)=1 → CHAR(65) = “A”
- 2行目: ROW(A2)=2 → CHAR(66) = “B”
- 26行目: ROW(A26)=26 → CHAR(90) = “Z”
CHAR関数のよく使う文字コード一覧
| コード | 文字 | 用途 |
|---|---|---|
| CHAR(9) | タブ | タブ区切りデータの作成 |
| CHAR(10) | 改行(LF) | セル内改行(Windows) |
| CHAR(13) | 改行(CR) | セル内改行(Mac) |
| CHAR(32) | スペース | 半角スペース |
| CHAR(34) | “ | ダブルクォーテーション |
| CHAR(39) | ‘ | シングルクォーテーション |
| CHAR(65)〜CHAR(90) | A〜Z | 大文字アルファベット |
| CHAR(97)〜CHAR(122) | a〜z | 小文字アルファベット |
| CHAR(48)〜CHAR(57) | 0〜9 | 数字 |
UNICODE関数とUNICHAR関数の使い方
CODE/CHAR関数はASCII/JISコードに限定されますが、UNICODE/UNICHAR関数は世界中の文字(日本語含む)のUnicodeコードポイントを扱えます。
UNICODE関数の構文と使用例
構文: =UNICODE(文字列)
| 数式 | 結果 | 説明 |
|---|---|---|
=UNICODE("A") | 65 | ASCIIと同じ値 |
=UNICODE("あ") | 12354 | ひらがな「あ」のUnicode |
=UNICODE("亜") | 20124 | 漢字「亜」のUnicode |
=UNICODE("😀") | 128512 | 絵文字のUnicode |
UNICHAR関数の構文と使用例
構文: =UNICHAR(数値)
| 数式 | 結果 | 説明 |
|---|---|---|
=UNICHAR(65) | A | ASCIIと同じ |
=UNICHAR(12354) | あ | ひらがな「あ」 |
=UNICHAR(9733) | ★ | 黒い星記号 |
=UNICHAR(10003) | ✓ | チェックマーク |
CODE/CHAR vs UNICODE/UNICHAR の違い
| 比較項目 | CODE/CHAR | UNICODE/UNICHAR |
|---|---|---|
| 対応文字コード | ASCII / JIS | Unicode |
| 半角英数字 | 同じ結果(65=A等) | 同じ結果(65=A等) |
| 日本語 | JISコード(33440=あ等) | Unicodeコードポイント(12354=あ等) |
| 絵文字 | 非対応 | 対応 |
| 推奨使用場面 | 半角文字の処理 | 多言語・絵文字の処理 |
| Excel互換性 | 全バージョン対応 | Excel 2013以降 |
ASC関数・JIS関数との違い
文字コード関連でよく混同されるのがASC関数とJIS関数です。これらは文字コードの変換ではなく、文字の全角・半角変換を行う関数です。
各関数の役割の違い
| 関数 | 役割 | 例 |
|---|---|---|
| CODE | 文字 → 文字コード(数値) | “A” → 65 |
| CHAR | 文字コード → 文字 | 65 → “A” |
| ASC | 全角 → 半角に変換 | “A” → “A” |
| JIS | 半角 → 全角に変換 | “A” → “A” |
- CODE/CHAR = 文字とコード値の変換
- ASC/JIS = 文字の幅(全角/半角)の変換
- 目的が異なるため、使い分けが重要
CSVファイルの文字化け対処法
Excelで最もよくある文字コードトラブルが、CSVファイルを開いたときの文字化けです。
文字化けが起きる原因
CSVファイルにはどの文字コードで保存されたかの情報が含まれていません。そのため、保存時と開く時で文字コードが異なると文字化けが発生します。
- UTF-8で保存されたCSV → ExcelがShift_JISとして開く → 文字化け
- 海外のシステムからダウンロードしたCSV → 日本語が文字化け
対処法1: テキストファイルウィザードで開く
- Excelの「データ」タブ → 「テキストまたはCSVから」を選択
- ファイルを選択
- 「元のファイル」のドロップダウンで正しい文字コード(UTF-8等)を選択
- プレビューで文字化けが解消されたことを確認
- 「読み込み」をクリック
対処法2: メモ帳で文字コードを変更して保存
- CSVファイルをメモ帳で開く
- 「ファイル」→「名前を付けて保存」
- 文字コードを「UTF-8 (BOM付き)」に変更して保存
- 保存したファイルをExcelで開く
対処法3: Excelで保存する際にUTF-8を指定
- 「ファイル」→「名前を付けて保存」
- ファイルの種類で「CSV UTF-8(コンマ区切り)」を選択
- 保存
よくあるエラーと対処法
#VALUE!エラーが表示される
原因: CODE関数に空のセルを指定した場合
対処: 以下の数式で空セルチェックを行います。
=IF(A1="","",CODE(A1))CHAR関数で期待した文字が返されない
原因: 引数の数値が有効範囲外(1〜255以外)
対処: UNICHAR関数を使用する(Unicode対応で範囲が広い)
UNICODE/UNICHAR関数が使えない
原因: Excel 2010以前のバージョンを使用
対処: Excel 2013以降にアップグレード、またはCODE/CHAR関数で代替
文字コード変換をVBAで自動化する方法
Asc関数・Chr関数を使った文字コード変換をVBAマクロで自動化すれば、一括変換処理が可能です。
' 文字と文字コードを一括変換するマクロ
Sub 文字コード変換()
Dim ws As Worksheet
Set ws = ActiveSheet
Dim i As Long
For i = 2 To 6
ws.Cells(i, "B").Value = Asc(ws.Cells(i, "A").Value)
ws.Cells(i, "C").Value = Chr(ws.Cells(i, "B").Value + 1)
Next i
MsgBox "5件の文字コード変換が完了しました"
End Sub
VBAマクロの実行結果は記事冒頭のインタラクティブデモで確認できます。ボタンを押すとアニメーションで動作をシミュレーションします。
よくある質問(FAQ)
ExcelのCODE関数とUNICODE関数の違いは何ですか?
CODE関数は半角文字にASCIIコード、全角文字にJISコードを返します。UNICODE関数はすべての文字にUnicodeコードポイントを返します。半角英数字では同じ結果ですが、日本語や絵文字ではコード値が異なります。
ExcelでCHAR(10)が改行にならないのはなぜですか?
セルの書式設定で「折り返して全体を表示する」がOFFになっている可能性があります。セルを選択し、Ctrl+1で書式設定を開き、「配置」タブの「折り返して全体を表示する」にチェックを入れてください。
ExcelでCSVファイルが文字化けする原因と対処法は?
CSVファイルの文字コード(UTF-8等)とExcelが想定する文字コード(Shift_JIS等)が異なることが原因です。「データ」タブの「テキストまたはCSVから」で正しい文字コードを指定して開くか、メモ帳でUTF-8(BOM付き)に変換して保存してください。
ExcelのCHAR関数で連続アルファベットを自動生成するには?
=CHAR(ROW(A1)+64) という数式を使います。ROW関数で行番号を取得し、64を足すことでASCIIコードの65(=A)から始まる連続アルファベットを生成できます。下方向にコピーするとB, C, D…と自動で連続します。
ExcelのASC関数とCODE関数は何が違いますか?
ASC関数は全角文字を半角文字に変換する関数(例:「A」→「A」)で、CODE関数は文字を文字コード(数値)に変換する関数(例:「A」→65)です。目的が全く異なります。ASC/JIS関数は文字の幅の変換、CODE/CHAR関数は文字とコード値の変換です。
Excelの便利な関数をもっと知りたい方は、Excel関数おすすめ6選|業務効率化に必須の関数まとめもあわせてご覧ください。
実際の操作手順をクリックして体験できます。各ステップをクリックしてみましょう。
ノートPC,89800,25
キーボード,3980,150
マウス,1280,200
ノートPC | 89800 | 25
キーボード | 3980 | 150
マウス | 1280 | 200
ノートPC | 89800 | 25
キーボード | 3980 | 150
マウス | 1280 | 200
| A | B | C | |
|---|---|---|---|
| 1 | 商品名 | 価格 | 在庫数 |
| 2 | ノートPC | 89800 | 25 |
| 3 | キーボード | 3980 | 150 |
| 4 | マウス | 1280 | 200 |
まとめ
Excelの文字コード関数をまとめます。
| 関数 | 機能 | 使用例 |
|---|---|---|
| CODE | 文字→コード値 | データクリーニング、文字判定 |
| CHAR | コード値→文字 | セル内改行、アルファベット生成 |
| UNICODE | 文字→Unicodeコード | 多言語・絵文字対応 |
| UNICHAR | Unicodeコード→文字 | 特殊記号・チェックマーク挿入 |
最も実務でよく使うのはCHAR(10)によるセル内改行です。文字コードの基礎を理解しておくと、CSV文字化けなどのトラブルにも素早く対処できます。
