Excel関数 逆引き集 | 文字コード取得 → CODE

Excel
スポンサーリンク

概要

CODE関数は「文字列の先頭1文字の文字コード(数値)」を返します。どの文字が入っているかを“数値で判定”できるため、半角/全角の見分け、記号の違い(ハイフンと長音など)、改行やタブといった制御文字の検出に役立ちます。対になる関数はCHARで、取得したコードから文字へ戻せます。


基本の使い方

書式

=CODE(文字列)
  • 先頭1文字のみが対象です。2文字目以降は評価されません。

=CODE("A")        // 65
=CODE("a")        // 97
=CODE(CHAR(10))   // 10(改行)
=CODE(CHAR(9))    // 9(タブ)

具体例

先頭がスペースかどうかを判定

=IF(CODE(A2)=32,"先頭は半角スペース","スペース以外")

半角スペースはコード32。先頭に空白が紛れているかを数値で確実に判断できます。

記号の種類を識別(ハイフン/全角長音)

=CODE(B2)

半角ハイプン「-」と全角長音「-」はコードが異なるため、取り込みデータの揺れを検出できます。

制御文字の検出(改行・タブ)

=IF(OR(CODE(C2)=10,CODE(C2)=9),"改行/タブあり","通常文字")

見えない改行やタブを先頭に含むデータを早期に見つけられます。


応用テンプレート

文字コードから文字へ戻す(CHARとの往復)

=CHAR(CODE(D2))

先頭文字を「コード→文字」に戻して確認できます。

半角スペースなら削除して整形

=IF(CODE(E2)=32,TRIM(E2),E2)

先頭が半角スペースならTRIMで整えて返します。

先頭が制御文字ならCLEANで除去

=IF(CODE(F2)<32,CLEAN(F2),F2)

コードが32未満(不可視の制御文字)の場合、CLEANで削除します。

先頭が数字か英字かを判定

=IF(AND(CODE(G2)>=48,CODE(G2)<=57),"数字",
   IF(OR(AND(CODE(G2)>=65,CODE(G2)<=90),AND(CODE(G2)>=97,CODE(G2)<=122)),"英字","その他"))

先頭文字の種類で分岐処理が可能です。


よくあるつまずきと対策

先頭1文字しか見ない

CODEは常に“最初の1文字”です。文字列全体を検査したい場合はLEFTで1文字ずつ取り出して判定します。

半角/全角でコードが変わる

同じ見た目でも半角と全角は別コード。整形はSUBSTITUTEで統一したうえで扱うと安定します。

不可視文字の扱い

改行(10)やタブ(9)などは見えませんが、CODEで数値確認できます。除去はCLEANやSUBSTITUTEを使います。

Unicode文字

日本語などの多言語文字はUnicodeコードポイントが返ります。より詳細に扱う場合はUNICODE/UNICHAR(Microsoft 365以降)も併用を検討します。


例題

問題1: A2セルの先頭文字のコードをB2に表示してください。

解答例:

=CODE(A2)

問題2: C2セルの先頭が半角スペースなら「空白あり」、それ以外なら「OK」とD2に表示してください。

解答例:

=IF(CODE(C2)=32,"空白あり","OK")

問題3: E2セルの先頭が改行(CHAR(10))またはタブ(CHAR(9))なら「制御文字」をF2に表示し、それ以外は空欄にしてください。

解答例:

=IF(OR(CODE(E2)=10,CODE(E2)=9),"制御文字","")

問題4: G2セルの先頭が数字なら「数字」、英字なら「英字」、それ以外なら「その他」とH2に表示してください。

解答例:

=IF(AND(CODE(G2)>=48,CODE(G2)<=57),"数字",
   IF(OR(AND(CODE(G2)>=65,CODE(G2)<=90),AND(CODE(G2)>=97,CODE(G2)<=122)),"英字","その他"))

問題5: I2セルの先頭が不可視文字(コード32未満)ならCLEANで除去し、結果をJ2に表示してください。

解答例:

=IF(CODE(I2)<32,CLEAN(I2),I2)

まとめ

CODEは“見えない違い”を数値で見抜く関数です。先頭文字の性質(半角/全角、記号種別、制御文字)をコードで判定し、TRIM・CLEAN・SUBSTITUTE・CHARと組み合わせれば、取り込みデータのゆれを安全に整えられます。講師としての要点は「CODEで検出、整形は他関数で仕上げる」。この流れを覚えると、文字列前処理が一気に安定します。

タイトルとURLをコピーしました