• 作成日 : 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上の文字処理を安定させ、誤判定や照合ミスを減らすことができます。


※ 掲載している情報は記事更新時点のものです。

※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。

関連記事