ExcelのUNICHAR関数の使い方|チェックマーク・丸数字・矢印を数式で挿入する

スポンサーリンク

「Excelでチェックマークや丸数字を数式で入れたい」と思ったことはありませんか?
記号をコピペで貼り付ける方法もありますが、条件に応じて自動表示できたら便利ですよね。

ExcelのUNICHAR関数を使えば、数値を指定するだけで好きな記号や文字を表示できます。
この記事では、UNICHAR関数の使い方を基本の書き方から実務で役立つ応用パターンまで紹介します。
CHAR関数との違いや、UNICODE関数との逆変換ペアもまとめました。

UNICHAR関数とは?

UNICHAR関数は、Unicode(ユニコード)のコードポイントを指定して、対応する文字を返す関数です。

たとえば =UNICHAR(65) と入力すると「A」が返ります。
=UNICHAR(10003) なら「✓」(チェックマーク)です。
アルファベットから漢字、記号まで、番号ひとつであらゆる文字を表示できます。

NOTE

UNICHAR関数はExcel 2016以降で使えます。Excel 2019・2021・Microsoft 365にも対応しています。

UNICHAR関数の読み方

読み方は「ユニキャラ関数」または「ユニコード・キャラクター関数」です。
「UNI」はUnicode(世界中の文字に一意の番号を割り当てた国際規格)、「CHAR」はCharacter(文字)の略です。

UNICHAR関数でできること

UNICHAR関数を使うと、次のようなことができます。

  • チェックマーク(✓✗)を数式で表示する
  • 丸数字(①②③…)を連番で自動生成する
  • 矢印(▲▼)で増減の方向を見せる
  • セル内改行を数式で挿入する

いずれも、コードポイント(文字に対応する番号)を指定するだけです。

UNICHAR関数の書き方(構文と引数)

基本構文

=UNICHAR(数値)

引数:数値

引数必須/省略可説明
数値必須表示したい文字のUnicodeコードポイントを指定

引数はたったの1つです。
指定できる範囲は1〜1,114,111です。
この範囲を外れるとエラーになります。

数値は直接入力するか、セル参照で指定できます。

UNICHAR関数の基本的な使い方

直接数値を入力して文字を表示する

数式に番号を直接書くのが一番シンプルな使い方です。

=UNICHAR(65)      → A
=UNICHAR(12354)   → あ
=UNICHAR(10003)   → ✓

結果を見れば、番号と文字の対応がすぐにわかります。
よく使う記号の番号をメモしておくと便利ですよ。

セル参照で引数を指定する

セルに入力された番号を参照するパターンです。

=UNICHAR(A1)

A1に「9733」と入力されていれば、★(黒い星)が表示されます。
一覧表からまとめて変換したいときに使ってみてください。

実務で使えるコードポイント対応表

よく使う記号のコードポイントをまとめました。
数式を書くときの参照用にお使いください。

チェック・投票系

文字コードポイント数式
10003=UNICHAR(10003)
10004=UNICHAR(10004)
10007=UNICHAR(10007)
9745=UNICHAR(9745)
9744=UNICHAR(9744)

矢印・三角系

文字コードポイント数式
8594=UNICHAR(8594)
8592=UNICHAR(8592)
8593=UNICHAR(8593)
8595=UNICHAR(8595)
9650=UNICHAR(9650)
9660=UNICHAR(9660)

丸数字

文字コードポイント計算式
93129311 + 1
93139311 + 2
93149311 + 3
9311 + n
93319311 + 20

丸数字は「9311 + 番号」で求められます。
この規則性を使えば、連番を自動生成できます。

その他

文字コードポイント用途
9733評価・レーティング
9734評価・レーティング
(改行)10セル内改行

実践的な使い方・応用例

チェックマーク(✓✗)を条件で自動表示する

タスク管理表で「完了」なら✓、そうでなければ✗を表示する例です。

=IF(A2="完了", UNICHAR(10003), UNICHAR(10007))

A2が「完了」のとき✓、それ以外のとき✗が表示されます。
IF関数と組み合わせるだけで、ステータスの視認性がグッと上がります。

チェックボックス風にしたい場合は、次のように書きます。

=IF(A2="完了", UNICHAR(9745), UNICHAR(9744))

☑と☐が切り替わるので、見た目がよりわかりやすくなりますよ。

丸数字(①②③)を連番で自動生成する

行番号を使って丸数字を自動的に振るパターンです。

=UNICHAR(9311+ROW(A1))

ROW(A1)は「1」を返すので、9311+1=9312で①になります。
下にコピーすれば②③④…と自動で連番になります。

番号を任意の値にしたい場合は、セル参照にします。

=UNICHAR(9311+A2)

A2に「5」と入力すれば⑤が表示されます。
丸数字は①〜⑳(9312〜9331)の範囲で使えます。

矢印(▲▼)をIF関数と組み合わせて増減表示する

前月比の増減を▲▼で表すパターンです。

=IF(B2>B1, UNICHAR(9650), IF(B2<B1, UNICHAR(9660), "-"))

B2がB1より大きければ▲(上向き三角)を表示します。
小さければ▼(下向き三角)、同じなら「-」です。

数値と組み合わせると、さらにわかりやすくなります。

=IF(B2>B1, UNICHAR(9650)&B2-B1, IF(B2<B1, UNICHAR(9660)&B1-B2, "-"))

▲500、▼200のように、方向と差額を一目で確認できます。
売上レポートや在庫管理表で活躍するパターンですよ。

セル内改行を挿入する(UNICHAR(10))

2つのセルの値を改行つきで結合するパターンです。

=A2&UNICHAR(10)&B2

UNICHAR(10)はラインフィード(改行コード)を返します。
CHAR関数CHAR(10) とまったく同じ動きです。

NOTE

セル内改行を表示するには、セルの書式設定で「折り返して全体を表示する」を有効にしてください。設定しないと改行が見えません。

UNICHAR関数のエラーと対処法

UNICHAR関数で発生するエラーは主に2種類です。

#VALUE!エラー:数値が範囲外

指定した数値が有効範囲(1〜1,114,111)の外にあるとき発生します。

原因数式の例説明
0を指定=UNICHAR(0)0はUnicodeの有効範囲外
負の値=UNICHAR(-1)負の数は指定できない
上限超え=UNICHAR(1114112)1,114,111が上限
数値以外=UNICHAR(“あ”)文字列は指定できない

対処法は、有効範囲の数値を指定することです。
入力ミスが心配な場合はIFERROR関数でガードしましょう。

=IFERROR(UNICHAR(A1), "")

エラー時に空白を返すので、表が崩れるのを防げますよ。

#N/Aエラー:サロゲート領域

55,296〜57,343の範囲を指定すると#N/Aエラーになります。

=UNICHAR(55296)  → #N/A

この範囲はサロゲート領域(Unicodeで特殊文字を表現するために予約された番号帯)です。
単独では文字として使えないため、エラーが返ります。

通常の業務で意図的にこの範囲を使うことはほぼありません。
データに含まれる可能性がある場合は、IFERROR関数で対処してください。

=IFERROR(UNICHAR(A1), "変換不可")

似た関数との違い・使い分け

CHAR関数との違い(ANSI vs Unicode)

CHAR関数もUNICHAR関数と同じく「番号→文字」の変換関数です。
ただし、対応する範囲が大きく異なります。

比較項目UNICHAR関数CHAR関数
対応文字コードUnicode(全域)ANSI / Mac文字セット
指定できる範囲1〜1,114,1111〜255
「A」の結果AA
環境依存なしあり(Windows / Macで異なる)
対応バージョンExcel 2016〜Excel 2007〜

ASCII範囲(1〜127)では、どちらも同じ結果を返します。
たとえば65を指定すれば、どちらも「A」です。

違いが出るのは128以上の番号です。
CHAR関数は255までしか対応していません。
チェックマークや丸数字は表示できないのです。

記号や特殊文字を使いたい場合はUNICHAR関数を選びましょう。
改行(コード10)のように低い番号だけで済む場面なら、CHAR関数でも問題ありませんよ。

UNICODE関数との関係(逆変換ペア)

UNICODE関数は、UNICHAR関数と逆の働きをします。
UNICHAR関数が「番号→文字」なら、UNICODE関数は「文字→番号」です。

=UNICHAR(10003)       → ✓
=UNICODE("✓")         → 10003

セットで覚えておくと便利です。
「この記号の番号は何だろう?」と思ったら、UNICODE関数で調べてみてください。

関数変換方向使用例結果
UNICHAR番号→文字=UNICHAR(9733)
UNICODE文字→番号=UNICODE(“★”)9733

同じように、CHAR関数CODE関数もペアの関係です。
4つの関数をまとめると次のようになります。

ペア番号→文字文字→番号対応範囲
Unicode系UNICHARUNICODEUnicode全域
ANSI系CHARCODE1〜255

まとめ

UNICHAR関数は =UNICHAR(数値) と書くだけで、Unicodeの文字を表示できる関数です。

  • 引数は数値の1つだけ(1〜1,114,111の範囲)
  • チェックマーク・丸数字・矢印など、特殊記号を数式で挿入できる
  • IF関数やROW関数と組み合わせれば、条件付きの記号表示連番生成も自動化できる
  • CHAR関数と違い、256以上の記号も表示できる
  • UNICODE関数と逆変換のペアで使うと便利
  • エラーが心配なときはIFERROR関数でガードする

記号の挿入や番号の確認に、ぜひUNICHAR関数を活用してみてください。

関連記事

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