「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) |
丸数字
| 文字 | コードポイント | 計算式 |
|---|---|---|
| ① | 9312 | 9311 + 1 |
| ② | 9313 | 9311 + 2 |
| ③ | 9314 | 9311 + 3 |
| … | … | 9311 + n |
| ⑳ | 9331 | 9311 + 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,111 | 1〜255 |
| 「A」の結果 | A | A |
| 環境依存 | なし | あり(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つの関数をまとめると次のようになります。
まとめ
UNICHAR関数は =UNICHAR(数値) と書くだけで、Unicodeの文字を表示できる関数です。
- 引数は数値の1つだけ(1〜1,114,111の範囲)
- チェックマーク・丸数字・矢印など、特殊記号を数式で挿入できる
- IF関数やROW関数と組み合わせれば、条件付きの記号表示や連番生成も自動化できる
- CHAR関数と違い、256以上の記号も表示できる
- UNICODE関数と逆変換のペアで使うと便利
- エラーが心配なときはIFERROR関数でガードする
記号の挿入や番号の確認に、ぜひUNICHAR関数を活用してみてください。
