- 作成日 : 2025年8月25日
CODE関数の使い方:文字コードを取得する方法
CODE 関数は、指定した文字の数値コードを返すテキスト関数です。Windows では ANSI(現在のコードページ)、Mac では Macintosh 文字セットのコードが返されます。データクレンジング、文字の種類判定、ソート順の確認、特殊文字の検出、文字列の暗号化など、文字レベルでの処理が必要な場面で活用されます。
例えば、全角・半角の判定、制御文字の検出、アルファベットの大文字小文字の識別、特殊記号の除去などを文字コードを基に実行できます。本記事では、CODE関数の基本的な使い方から実践的な活用方法、他の関数との効果的な組み合わせまで、初心者でも実務に活かせるようわかりやすく解説していきます。
目次
CODE関数とは
CODE関数は、文字列の最初の文字に対応する数値コードを返すテキスト関数です。英数字、日本語、記号など、あらゆる文字には固有の数値コードが割り当てられており、CODE関数でその値を取得できます。Windows 環境では Unicode ではなく、現在のコードページ(例: Windows-1252 など)に基づく ANSI コードが返されます。
この関数の重要な特徴は、見た目では判別しにくい文字の違いを数値として明確に識別できることです。スペースと全角スペース、ハイフンとダッシュなど、似た文字を確実に区別でき、データの一貫性を保つうえで役立ちます。
CODE関数の基本的な使い方
関数の構文を理解する
CODE関数の構文は非常にシンプルです。
=CODE(文字列)
文字列には、文字コードを取得したい文字または文字列を指定します。文字列の場合は最初の文字のコードが返されます。
基本的な使用例
実際の使用例を見てみましょう。
アルファベットの文字コード:
=CODE(“A”) ‘ 結果:65
=CODE(“a”) ‘ 結果:97
=CODE(“Z”) ‘ 結果:90
数字と記号の例:
=CODE(“0”) ‘ 結果:48
=CODE(“9″) ‘ 結果:57
=CODE(” “) ‘ 結果:32(半角スペース)
=CODE(“ ”) ‘ 結果:8481 (全角スペース)
日本語文字の文字コード
ひらがな、カタカナ、漢字の例:
=CODE(“あ”) ‘ 結果:9250 (ひらがな「あ」)
=CODE(“ア”) ‘ 結果:9506 (カタカナ「ア」)
=CODE(“亜”) ‘ 結果:12321 (漢字「亜」)
CODE関数の実践的な利用シーン
データクレンジングでの活用
企業のデータベースでは、見た目が同じでも異なる文字コードの文字が混在することがあります。CODE関数を使って、半角・全角の統一、類似文字の検出、不可視文字の発見などが可能です。
例えば、顧客名簿で「-」(半角ハイフン)、「-」(全角ハイフン)、「―」(ダッシュ)が混在している場合、CODE関数で識別し、統一処理を行えます。これにより、検索や照合のミスを防ぎやすくなります。
入力検証システムの構築
フォーム入力やデータインポート時の検証で、許可された文字のみが使用されているかをチェックできます。例えば、パスワードに使用可能な文字の範囲を文字コードで定義し、不正な文字を検出できます。
製品コードや会員IDなど、特定のフォーマットが要求される項目で、使用可能な文字種を厳密に管理する際に有効です。
文字列のソート順序の理解
Excel の並べ替えは、現在の地域設定で定義された照合順序(コラテーション)に従って行われます。単なる文字コード順ではなく、言語ごとのルール(大文字小文字の扱い、アクセント付き文字の並び、記号・空白の優先度など)を考慮します。
そのため並び順を調べる際は、CODE 関数の数値だけでなくロケール固有の照合規則も意識する必要があります。もし純粋に「コード値の大小」で並べ替えたい場合は、補助列に
=CODE(LEFT(A1,1))
などで数値を出力し、その列を数値としてソートする方法が確実です。
CODE関数の応用テクニック
文字種の判定
アルファベットの大文字・小文字判定:
=IF(AND(CODE(A1)>=65, CODE(A1)<=90), “大文字”,
IF(AND(CODE(A1)>=97, CODE(A1)<=122), “小文字”, “その他”))
制御文字の検出
印刷できない制御文字の検出例:
=IF(CODE(A1)<32, “制御文字(コード: ” & CODE(A1) & “)”, “通常文字”)
文字の変換
大文字を小文字に変換(コードレベル):
=IF(AND(CODE(A1)>=65, CODE(A1)<=90), CHAR (CODE(A1)+32), A1)
よくあるエラーと対策
#VALUE!エラーへの対処
空白セルや数値を参照した場合に発生します。
基本的なエラー処理:
=IFERROR(CODE(A1), “文字を入力してください”)
詳細な入力チェック:
=IF(LEN(A1)=0, “空白です”,
IF(ISNUMBER(A1), CODE(TEXT(A1, “@”)),
CODE(A1)))
CODE関数は文字列を期待するため、数値や空白セルではエラーになります。TEXT関数で文字列に変換するか、事前にデータ型をチェックすることで、エラーを回避できます。特に、計算結果のセルを参照する場合は注意が必要です。
文字列の最初の文字のみ
複数文字の文字列での動作:
=CODE(“ABC”) ‘ 結果:65(”A”のコード)
全文字のコードを取得する方法:(Excel 365 例):
=TEXTJOIN(“, “, TRUE,
MAP(SEQUENCE(LEN(A1)),
LAMBDA(i, MID(A1, i, 1) & “: ” & CODE(MID(A1, i, 1)))))
SEQUENCE で 1~LEN(A1) の連番を作り、MAP で 1 文字ずつ CODE を適用して「文字: コード」の一覧を連結します。動的配列に未対応の環境では、ROW(INDIRECT(“1:”&LEN($A$1))) を使った配列数式で代用できます。
見えない文字の処理
改行やタブなどの特殊文字:
=SWITCH(CODE(A1),
9, “タブ”,
10, “改行(LF)”,
13, “改行(CR)”,
32, “スペース”,
“その他: ” & CODE(A1))
不可視文字の可視化:
=IF(CODE(A1)<32, “[制御文字:” & CODE(A1) & “]”, A1)
テキストファイルからのインポートやコピー&ペーストで、見えない制御文字が含まれることがあります。CODE関数で検出し、適切に処理することが重要です。
CODE関数と他の関数との組み合わせ
CHAR関数での相互変換
文字コードから文字への変換と検証:
‘— ASCII/ANSI 範囲(1〜255)のみ保証 —
=IFERROR(CHAR (CODE(A1)), “#VALUE!”)
‘元の文字に戻るかチェック(1〜255 の場合のみ)
=IF(AND(CODE(A1)<=255, A1=CHAR (CODE(A1))), “正常”, “変換不可”)
‘— Unicode も含めて確実に戻す例(Excel 2013 以降) —
=UNICHAR (UNICODE(A1)) ‘ 常に元の文字に戻る
=IF(A1=UNICHAR (UNICODE(A1)), “正常”, “変換エラー”)
CODE関数とCHAR関数は逆の機能を持ち、組み合わせることで文字と文字コードの相互変換が可能です。データの暗号化・復号化の基礎として使用したり、文字の正規化処理に活用したりできます。特殊文字の置換処理でも有効です。
IF関数での文字種別分類
詳細な文字分類システム:
=IF(CODE(A1)<=31, “制御文字”,
IF(CODE(A1)<=47, “記号”,
IF(CODE(A1)<=57, “数字”,
IF(CODE(A1)<=64, “記号”,
IF(CODE(A1)<=90, “大文字”,
IF(CODE(A1)<=96, “記号”,
IF(CODE(A1)<=122, “小文字”, “その他”)))))))
文字の種類を自動判定することで、入力検証やデータ分類が効率化されます。パスワードの複雑性チェックや、データ形式の妥当性確認に活用できます。多言語対応が必要な場合は、より詳細な範囲設定が必要です。
SUMPRODUCT関数での特定文字のカウント
文字コード範囲での集計:
=SUMPRODUCT((CODE(MID(A1,ROW(INDIRECT(“1:”&LEN(A1))),1))>=48)*
(CODE(MID(A1,ROW(INDIRECT(“1:”&LEN(A1))),1))<=57))
上式はセル A1 内の 半角数字 の個数を求める例です。全角数字もカウントしたい場合は、CODE の戻り値で 全角“0” (65296) 〜 “9” (65305) の範囲を条件に追加するか、`UNICODE` 関数を用いて Unicode コードポイントで判定してください。パスワードの強度評価や、データ形式の検証で使用できます。同様の方法で、大文字、小文字、記号の数も集計できます。
SUBSTITUTE関数での文字置換
特定の文字コード範囲の文字を置換:
=IF(AND(CODE(LEFT(A1,1))>=65, CODE(LEFT(A1,1))<=90),
SUBSTITUTE(A1, LEFT(A1,1), CHAR (CODE(LEFT(A1,1))+32)), A1)
文字コードを基準にした条件付き置換が可能です。全角・半角の統一、大文字・小文字の変換、特殊文字の除去などに活用できます。より複雑な変換ルールも実装可能です。
LEN関数での文字数とバイト数の比較
全角・半角の判定:
=IF(CODE(A1)>255, “全角文字”, “半角文字”)
=IF(LENB(A1)>LEN(A1), “全角を含む”, “半角のみ”)
文字コードとバイト数を組み合わせることで、文字の種類をより正確に判定できます。データベースへの登録前のチェックや、表示幅の計算に有用です。
UNICODE関数との比較(Excel 2013以降)
より詳細な文字コード取得:
=IF(CODE(A1)=UNICODE(A1), “基本ASCII”, “拡張文字”)
=”CODE: ” & CODE(A1) & ” / UNICODE: ” & UNICODE(A1)
UNICODE関数はより広範囲の文字に対応しており、絵文字やサロゲートペア文字も正確に処理できます。用途に応じて使い分けることが重要です。
CODE関数で文字を数値に変換し違いを見分ける
CODE関数は、テキスト文字列内の先頭文字の数値コードを返す関数です。
全角と半角、大文字と小文字、制御文字と表示文字などを数値で区別できるため、入力チェックやデータ整形の判断材料として利用できます。
IF関数やCHAR関数と組み合わせることで、文字の判定や変換を行う処理も作成できます。
見た目が似ている異なる文字が混在する場合や、文字種ごとに処理を分けたい場面で役立ちます。
CODE関数を使うことで、Excel上の文字処理を安定させ、誤判定や照合ミスを減らすことができます。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
POWER関数完全ガイド – エクセルで累乗計算をマスターする方法
POWER関数は、指定した数値を任意の累乗に計算するエクセルの数学関数です。複利計算、面積・体積の計算、統計分析、科学技術計算など、幅広い分野で活用されています。本記事では、POWER関数の基本的な使い方から実務での応用例、他の関数との効果…
詳しくみるTODAY関数の使い方を応用までわかりやすく解説
Excelにおいて、TODAY関数は現在の日付を取得するための非常に便利なツールです。この関数を活用することで、日付計算やデータ管理が効率化されます。本記事では、TODAY関数の基本的な使い方から、和暦の表示や翌日の日付の取得、曜日の表示、…
詳しくみるMINIFS関数の使い方:条件付き最小値を簡単に求める方法
MINIFS関数は、Microsoft 365 と Excel 2019 以降(Excel 2021/2024、Excel for the web 含む)で利用できる、条件付き最小値を求める関数です。複数の条件を指定して、その条件に合致する…
詳しくみる日付をシリアル値に変換するDATEVALUE関数の使い方
DATEVALUE関数は、日付をシリアル値(Excelが日付や時刻を数値として扱うための値)に変換するための非常に便利な関数です。この関数を使用することで、テキスト形式の日付を数値として扱うことができ、日付の計算や分析が容易になります。特に…
詳しくみるLEFTB関数の使い方:バイト単位で文字列を抽出する方法
LEFTB関数は、文字列の左端から指定したバイト数分の文字を抽出する関数です。通常のLEFT関数が文字数単位で抽出するのに対し、LEFTB関数はバイト単位で処理を行うため、全角文字と半角文字が混在するデータを扱う際に特に有効です。 例えば、…
詳しくみるNETWORKDAYS関数の使い方:エクセルで営業日数を正確に計算する
プロジェクトの期間計算や、納期管理、残業時間の計算など、エクセルで日付を扱う業務は多岐にわたります。その中でも、「土日を除いた営業日数(稼働日数)を正確に知りたい」というニーズは非常に多いのではないでしょうか? 祝日も考慮に入れるとなると、…
詳しくみる