更新日:、 作成日:

エクセル UNICHAR 関数:Unicode を文字に変換する

はじめに

エクセルの UNICHAR 関数の使い方を紹介します。

UNICHAR 関数は Unicode 番号を文字に変換します。番号は UTF-8 や UTF-16 の元となる値です。

65 なら A に変換します。半角文字なら 0 ~ 255 の範囲を指定します。ANSI コードと同じ値です。

38960 なら に変換します。Unicode 専用文字です。UTF-8 や UTF-16 とはコードが違います。

128515 なら 😃 に変換します。絵文字やサロゲートペア文字などすべての文字を変換できます。

絵文字😃やサロゲートペア文字など Unicode でしか扱えない文字を入力できます。

文字の Unicode を取得するには「UNICODE 関数」を使用します。
JIS コードを文字に変換するには「CHAR 関数」を使用します。
この関数は 2013 から使用できます。

UNICHAR 関数の引数

UNICHAR(文字コード)
文字コードを文字に変換します。

引数「文字コード」Unicode 番号を指定します。スピル化

スピル化:セルの範囲や配列を指定すると結果が「スピル」します。

特殊文字

VBA でも使用する特殊文字に次のものがあります。

文字コード 名前 VBA の定数
8バックスペースvbBack
9タブvbTab
10ラインフィード (セル内の改行)vbLf
11垂直タブvbVerticalTab
12フォームフィード (印刷の改ページ)vbFormFeed
13キャリッジリターンvbCr
13 & 10改行 (キャリッジリターンとラインフィードを結合した文字)vbCrLf
34ダブルクォーテーションなし

セル内の改行文字は 10 ラインフィードです。

特殊文字や半角文字 (ANSI) の文字一覧は「VBA Chr 関数:文字コードを文字に変換する」をご覧ください。

使い方

UNICHAR 関数の使い方を紹介します。

Unicode を文字に変換する

セル「B3」の Unicode を文字に変換します。

=UNICHAR(B3)
7

セル内の改行文字に変換する

Unicode 10 と結合してセル内の改行をします。

="一行目"&UNICHAR(10)&"二行目"
8

改行されていないときは、その [セル] を選択した状態で、[ホーム] タブから配置グループにある [折り返して全体を表示する] をクリックしてオンにします。

Alt + Enter で改行したときは自動でチェックされます。
word-break

改行されて表示されます。

解説

引数「文字コード」には「UNICODE 関数」で取得した値と対応してるため、相互変換できます。

引数「文字コード」が 0 ~ 255 のときは半角で、A1 などに変換します。ANSI コードと同じ値です。

引数「文字コード」がそれ以外の値のときは Unicode 文字に変換します。

引数「文字コード」が 0 のときはエラー #VALUE になります。

引数「文字コード」が変換できない値のときはエラー #VALUE または #N/A になります。

絵文字を入力してもブラウザのようにカラーにはなりません。

JIS コードを文字に変換するには「CHAR 関数」を使用します。

「HEX2DEC 関数」と「DEC2HEX 関数」を使用して 16 進数と 10 進数を相互変換できます。

Unicode とは

Unicode とは、すべての文字を扱える世界標準な文字コードです。

取得される Unicode 番号は UTF-8 や UTF-16 の元となる値です。 の Unicode を例を紹介します。

名前説明
Unicode 番号 (10 進数)12354UNICODE 関数で取得される値
Unicode 番号 (16 進数)3042一般的に U+xxxx で表記される値
UTF-8 (16 進数)E38182UTF-8 の値
UTF-16 BE (16 進数)3042UTF-16 の値