概要
Excel で「区切り文字」を自由に制御したいときに役立つのが CHAR 関数です。
CHAR は 文字コード(ASCIIコード)から特定の記号を生成する関数で、
普段キーボードから入力しにくい「特殊な区切り文字」を作るのに最適です。
特に実務でよく使うのは次の 3 つです。
- CHAR(10) … 改行
- CHAR(9) … タブ
- CHAR(32) … 半角スペース
- CHAR(44) … カンマ(,)
- CHAR(59) … セミコロン(;)
これらを組み合わせることで、
「見やすい表示用文字列」や「外部システム向けの区切りデータ」 を自在に作れます。
ここでは、初心者向けに「区切り文字制御」としての CHAR の使い方を、
テンプレートと例題つきで丁寧に解説します。
CHAR の基本
CHAR の書式
=CHAR(コード番号)
コード番号には 1〜255 の数値を指定します。
代表的なものは次の通りです。
| 文字 | コード | 用途 |
|---|---|---|
| 改行 | 10 | セル内改行(Alt+Enter と同じ) |
| タブ | 9 | TSV(タブ区切り)作成 |
| 半角スペース | 32 | スペースの明示的挿入 |
| カンマ | 44 | CSV 形式の区切り文字 |
| セミコロン | 59 | 欧州系 CSV の区切り |
Excel では CHAR(10) と CHAR(9) が特に重要です。
パターン1:任意の区切り文字で文字列を結合する
例:カンマ区切りで結合(CSV風)
A2:りんご
B2:みかん
C2:ぶどう
これらをカンマ区切りで結合したい場合:
=A2 & CHAR(44) & B2 & CHAR(44) & C2
結果:
りんご,みかん,ぶどう
CHAR(44) は「,」と同じですが、
「区切り文字をコードで管理したい」場合に便利です。
パターン2:TEXTJOIN と組み合わせて「任意の区切り文字」で結合
TEXTJOIN の区切り文字に CHAR を使うと、
どんな記号でも区切り文字にできるようになります。
例:セミコロン区切りで結合
=TEXTJOIN(CHAR(59), TRUE, A2:C2)
結果:
りんご;みかん;ぶどう
欧州系の CSV(セミコロン区切り)を作るときに便利です。
パターン3:スペースを明示的に入れる(CHAR(32))
スペースは普通に " " と書いてもよいですが、
「スペースの数をコードで管理したい」場合は CHAR(32) を使います。
例:項目名と値の間にスペース 3 個を入れる
="商品名" & CHAR(32) & CHAR(32) & CHAR(32) & A2
または
="商品名" & REPT(CHAR(32),3) & A2
結果:
商品名 りんご
スペースの数を調整したいときに便利です。
パターン4:改行・タブ・カンマを組み合わせて整形する
CHAR を組み合わせると、
「見やすい表示用」+「外部テキスト用」 の両方に対応できます。
例:改行+タブで整形した情報ブロックを作る
A2:山田太郎
B2:営業部
C2:1234
="氏名:" & A2 & CHAR(10) &
"部署:" & B2 & CHAR(9) &
"内線:" & C2
結果(セル内表示):
氏名:山田太郎
部署:営業部 内線:1234
メモ帳に貼るとタブが効いて整列します。
パターン5:外部システム向けの区切りデータを作る
CSV や TSV を Excel で作るとき、
CHAR を使うと「区切り文字を完全にコントロール」できます。
例:TSV(タブ区切り)を作る
=A2 & CHAR(9) & B2 & CHAR(9) & TEXT(C2,"#,##0")
結果(メモ帳に貼ると):
りんご 食品 120
Excel 内では見えにくいですが、
外部テキストではしっかりタブ区切りになります。
区切り文字制御の“型”まとめ
任意の区切り文字を挟む
=A2 & CHAR(コード) & B2
TEXTJOIN で区切り文字を指定
=TEXTJOIN(CHAR(コード), TRUE, 範囲)
スペースをコードで管理
=REPT(CHAR(32), 個数)
改行+タブなど複合区切り
="行1" & CHAR(10) & "行2" & CHAR(9) & "行3"
CHAR を使うと、
「キーボードで入力しにくい区切り文字」 を自在に扱えるようになります。
例題
問題1
A2 と B2 を カンマ区切り(,)で結合したいです。
CHAR を使った式を書いてください。
=A2 & CHAR(44) & B2
問題2
A2:C2 を セミコロン区切り(;)で結合したいです。
TEXTJOIN と CHAR を使った式を書いてください。
=TEXTJOIN(CHAR(59), TRUE, A2:C2)
問題3
「商品名」と A2 の間に 半角スペース 3 個 を入れたいです。
CHAR と REPT を使った式を書いてください。
="商品名" & REPT(CHAR(32),3) & A2
問題4
A2:氏名、B2:部署、C2:内線
これらを 改行+タブ を使って整形したいです。
CHAR(10) と CHAR(9) を使った式を書いてください。
="氏名:" & A2 & CHAR(10) &
"部署:" & B2 & CHAR(9) &
"内線:" & C2
問題5
A2:商品名、B2:カテゴリ、C2:価格
これらを タブ区切り(TSV形式) で結合し、価格は「#,##0」形式にしたいです。
CHAR(9) を使った式を書いてください。
=A2 & CHAR(9) & B2 & CHAR(9) & TEXT(C2,"#,##0")
CHAR は「区切り文字を自由に操る」ための万能ツールです。
改行・タブ・スペース・カンマ・セミコロンなど、
どんな区切り文字でもコードで管理できるので、
表示用にもデータ出力用にも大活躍します。
