Excelで特殊な記号や文字を使いたい場面に遭遇したことはありませんか。
しかし、キーボードから直接入力できない文字や、どのようなコードで表現されるのか分からない文字もあります。
本記事では、ExcelのCHAR関数とCODE関数を使って、文字コードから文字を生成したり、文字から文字コードを取得したりする方法を解説します。
これにより、Excelでの特殊文字の扱いや、文字の判定が容易になります。
【要点】CHAR関数とCODE関数による文字コード操作の基本
- CHAR関数: 数値(文字コード)を指定して、対応する文字を生成します。
- CODE関数: 文字を指定して、その文字に対応する数値(文字コード)を取得します。
- 特殊文字の生成: CHAR関数と文字コードの組み合わせで、キーボードにない記号や絵文字などを表示できます。
- 文字の判定: CODE関数で文字コードを数値として取得し、条件分岐などに利用できます。
ADVERTISEMENT
目次
CHAR関数とCODE関数の概要と仕組み
ExcelのCHAR関数とCODE関数は、文字と数値(文字コード)を相互に変換する機能を提供します。
これらの関数は、Unicode(ユニコード)という文字コード体系に基づいています。Unicodeは、世界中のほとんどの文字を表現できる共通のコードです。
CHAR関数は、指定されたUnicodeコードポイントに対応する文字を返します。一方、CODE関数は、指定された文字のUnicodeコードポイントを数値で返します。
これらの関数を理解することで、Excelでの文字操作の幅が格段に広がります。
CHAR関数で文字コードから文字を生成する手順
CHAR関数は、文字コードの数値を指定することで、その文字コードに対応する文字を返します。これにより、キーボードから直接入力できない特殊文字や記号をExcelシート上に表示させることが可能です。
- 対象セルを選択する
文字を生成したいExcelシート上のセルを選択します。 - CHAR関数を入力する
選択したセルに「=CHAR(数値)」という形式で関数を入力します。数値の部分には、表示したい文字に対応する文字コードを入力します。例えば、文字コード65はアルファベットの「A」です。 - Enterキーを押す
数式を入力したらEnterキーを押すと、指定した文字コードに対応する文字がセルに表示されます。
例えば、Unicodeで「♥」(ハートマーク)の文字コードは9829です。したがって、「=CHAR(9829)」と入力すると、セルに「♥」が表示されます。
JISコードやシフトJISなど、Excelが内部的に使用する文字コード体系とUnicodeは異なる場合がありますが、CHAR関数はUnicodeを基本としています。
よく使われる文字コードの例
CHAR関数でよく利用される文字コードには、以下のようなものがあります。
- 65~90: アルファベット大文字 (A~Z)
- 97~122: アルファベット小文字 (a~z)
- 48~57: 数字 (0~9)
- 32: スペース
- 169: © (著作権マーク)
- 174: ® (登録商標マーク)
- 8364: € (ユーロ記号)
- 9745: ✓ (チェックマーク)
- 9749: ☺ (笑顔マーク)
- 9824: ♠ (スペードマーク)
- 9827: ♣ (クラブマーク)
- 9829: ♥ (ハートマーク)
- 9830: ♦ (ダイヤマーク)
これらの文字コードをCHAR関数と組み合わせることで、様々な記号や特殊文字を簡単に生成できます。
CODE関数で文字から文字コードを取得する手順
CODE関数は、指定された文字が持つ文字コード(Unicodeコードポイント)を数値で返します。これは、特定の文字がどのコードで表現されているかを知りたい場合や、文字コードを基にした条件分岐を行いたい場合に役立ちます。
- 対象セルを選択する
文字コードを取得したい文字が入力されているセル、または文字コードを取得したい文字そのものを入力するセルを選択します。 - CODE関数を入力する
選択したセルに「=CODE(文字)」という形式で関数を入力します。文字の部分には、文字コードを取得したい文字そのもの、またはその文字が入力されているセル番地を指定します。 - Enterキーを押す
数式を入力したらEnterキーを押すと、指定した文字の文字コード(Unicodeコードポイント)が数値でセルに表示されます。
例えば、「=CODE(“A”)」と入力すると、セルに「65」が表示されます。また、「=CODE(A1)」のように、セルA1に「A」と入力されていれば、同様に「65」が表示されます。
CODE関数は、入力された文字列の最初の文字のコードのみを返します。複数の文字が入力されている場合でも、最初の1文字のコードが取得されます。
CODE関数とCHAR関数を組み合わせた活用例
CODE関数とCHAR関数は組み合わせて使用することで、より高度な文字操作が可能になります。
例えば、あるセルの文字コードを取得し、そのコードに1を加えた文字コードに対応する文字を表示させる、といった処理が考えられます。
具体的には、「=CHAR(CODE(A1)+1)」という数式が考えられます。この数式は、セルA1に入力されている文字の文字コードを取得し、それに1を加えた新しい文字コードに対応する文字を返します。
例えば、セルA1に「A」が入っていれば、CODE関数は65を返します。それに1を加えた66は、アルファベットの「B」の文字コードです。したがって、この数式は「B」を返します。
ADVERTISEMENT
特殊文字の生成と活用
CHAR関数は、Excelで利用できる特殊文字を生成する強力なツールです。
キーボードに存在しない記号や、特定のフォントでしか表示できない文字も、その文字コードが分かればCHAR関数で表示できます。
例えば、ビジネス文書でよく使われる「©」(著作権マーク)は文字コード169、「®」(登録商標マーク)は文字コード174です。
これらのマークをシートに表示するには、「=CHAR(169)」や「=CHAR(174)」と入力します。
絵文字や記号の生成
近年では、絵文字や特殊な記号をExcelで活用する機会も増えています。
これらの多くもUnicodeで定義されており、CHAR関数で生成可能です。
例えば、ハートマーク「♥」は文字コード9829、「✓」(チェックマーク)は文字コード9745です。
「=CHAR(9829)」と入力すればハートマークが、「=CHAR(9745)」と入力すればチェックマークが表示されます。
これらの特殊文字を、ステータス表示やアイコン代わりに利用することで、シートの見栄えを向上させることができます。
CHAR関数とフォントの組み合わせ
CHAR関数で生成した文字が正しく表示されない場合、使用しているフォントに問題がある可能性があります。
特に、絵文字や一部の特殊記号は、特定のフォント(例: Segoe UI Symbol, Wingdingsなど)でしか正しく表示されません。
もしCHAR関数で表示されるべき文字が□などの記号になる場合は、セルのフォント設定を確認してください。
該当する文字をサポートしているフォントに変更することで、正しく表示されるようになります。
文字判定と条件分岐への応用
CODE関数は、文字を数値データとして扱うための基礎となります。
これにより、文字の種類や範囲に基づいて条件分岐を行うことが可能になります。
例えば、あるセルに入力された文字がアルファベット大文字であるか、数字であるかなどを判定する際に利用できます。
アルファベット大文字・小文字の判定
アルファベット大文字は文字コード65から90、小文字は97から122の範囲にあります。
これらの数値範囲を利用して、IF関数とCODE関数を組み合わせて判定できます。
例えば、セルA1に入力された文字がアルファベット大文字かどうかを判定するには、以下のような数式が使えます。
「=IF(AND(CODE(A1)>=65,CODE(A1)<=90),"大文字","それ以外")」
この数式は、A1セルの文字コードが65以上90以下であれば「大文字」と表示し、そうでなければ「それ以外」と表示します。
同様に、小文字や数字の判定も行うことができます。
特定の記号・文字の判定
特定の記号や文字が含まれているかを判定する場合も、CODE関数が役立ちます。
例えば、セルA1に「©」が含まれているかを判定するには、まず「=CODE(“©”)」で文字コードを確認します。この場合、文字コードは169です。
次に、セルA1の文字コードが169であるかをIF関数で判定します。
「=IF(CODE(A1)=169,”著作権マークあり”,”なし”)」
これは、A1セルの文字コードが169であれば「著作権マークあり」と表示し、そうでなければ「なし」と表示します。
ただし、この方法はA1セルに「©」そのものが入力されている場合にのみ機能します。もしA1セルに「©マーク」という文字列が入っている場合、CODE関数は「©」の文字コードである169ではなく、文字列の最初の文字「©」の文字コードを返します。
文字列内の特定の文字を判定するには、FIND関数やSEARCH関数と組み合わせる方が適切です。
CHAR関数とCODE関数を使う上での注意点
CHAR関数とCODE関数は非常に便利ですが、いくつか注意すべき点があります。
これらの関数はUnicodeを基本としていますが、ExcelのバージョンやOS、設定によっては、一部の文字の表示やコードの解釈に差異が生じることがあります。
Excelのバージョンによる違い
Excel 2019以前のバージョンでもCHAR関数とCODE関数は利用可能ですが、サポートされるUnicodeの範囲がMicrosoft 365版と異なる場合があります。
特に、新しい絵文字や特殊文字については、古いバージョンでは正しく表示されなかったり、文字コードが異なったりする可能性があります。
Microsoft 365版では、より広範なUnicodeバージョンに対応しているため、最新の文字も利用しやすい傾向があります。
文字コードの範囲と制限
CHAR関数に指定できる数値の範囲は、Excelのバージョンによって異なります。
一般的に、Excel 2007以降ではUnicode 3.0以降に対応しており、最大でU+FFFFまでの文字コード(16進数でFFFF、10進数で65535)がサポートされています。
しかし、一部のサロゲートペア(UTF-16で2つのコードユニットで1文字を表す場合)で構成される文字は、CHAR関数で直接扱うのが難しい場合があります。
CODE関数で返される値も、この範囲内に収まります。
もし範囲外の数値を指定した場合、CHAR関数は「#NUM!」エラーを返します。
全角・半角の扱い
日本語環境でExcelを使用する場合、全角文字と半角文字の区別が重要になります。
CODE関数は、全角文字と半角文字で異なる文字コードを返します。
例えば、「A」の文字コードは65ですが、「A」(全角)の文字コードは12450です。
同様に、「あ」は12354、「ア」は12459です。
したがって、文字判定を行う際には、全角・半角のどちらの文字コードを想定しているのかを明確にする必要があります。
必要に応じて、ASC関数(全角英数字を半角に変換)やJIS関数(半角カタカナを全角に変換)などと組み合わせて、文字コードを統一してから判定を行うと良いでしょう。
まとめ
本記事では、ExcelのCHAR関数とCODE関数について、その基本的な使い方から応用例までを解説しました。
CHAR関数を使えば、文字コードを指定して特殊文字や記号を生成でき、CODE関数を使えば、文字からその文字コードを取得できます。
これらの関数を組み合わせることで、Excelでの特殊文字の利用や、文字に基づいた条件判定の幅が広がります。
今後は、これらの関数を応用して、よりリッチなシート作成や、高度なデータ処理に挑戦してみてください。
ADVERTISEMENT
超解決 Excel・Word研究班
企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。
Office・仕事術の人気記事ランキング
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Outlook】宛先が「オートコンプリート」に出ない・間違っている時の修正手順|履歴の削除と再構築
- 【Excel】矢印キーで「セルが動かず画面がスクロールする」!ScrollLockの解除方法(ノートPC対応)
- 【Outlook】メールの受信が数分遅れる!リアルタイムで届かない時の同期設定と送受信グループ設定
- 【Outlook】予定表の「祝日」が表示されない!最新カレンダーの追加と二重表示の修正手順
- 【Outlook】「メール送信を5分遅らせる」設定!誤送信を防ぐ最強のディレイ機能
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Excel】文字がセルの枠からはみ出す・隠れる!「折り返して表示」と「縮小して全体を表示」の使い分け
