月曜日, 3月 28, 2022

Excelで文字コードを取得して逆に戻す

質問がありましたので・・・
文字にはいろいろな規格のコード番号が割り振られていますが、Excelで文字コードを返すCODE関数はANSI(アンシー)またはJIS(ジス)コードを10進数で返します。。ANSI(米国国家規格協会)とJIS(日本産業規格)とでは漢字以外は同じです。ちなみにANSIコードに対してASCII(アスキー)コードと似た名前のモノがありますが、ASCIIはANSIが定める文字コードで、ASCIIはANSIの定める規格のことです(ややこしい)。同じようにJISとShift-JISがありますが、Shift-JISはJIS規格で定められたJISコードの改良版。JISコードが7bitで文字を表すのに対して、シフトJISコードは、すべての文字を2byte(16bit)で表し、先頭8bitで半角文字か全角文字かを区別します。

例えば上の様にB列に任意の文字を入力し,C列に10進数のJISコード、E列に10進数のUNICODEコードを表示させたい場合は・・・


(C3) =CODE(B3)
と入力(残りはフィル処理)すればB列文字の10進数JISコードを返します。
(E3) =UNICODE(B3)
と入力(残りはフィル処理)すればB列文字の10進数UNICODEコードを返します。

同様に、C列とE列の10進数を文字で返す(戻す)には・・・

(D3) =CHAR(C3)
と入力(残りはフィル処理)すればC列の10進数JISコードを文字で返します。
(F3) =UNICHAR(E3)
と入力(残りはフィル処理)すればE列の10進数UNIコードを文字で返します。