概要
「1セルの中で、行を変えて表示したい」
「“住所(1行目)+会社名(2行目)”みたいなレイアウトにしたい」
「TEXTJOIN でつないだ結果を、改行して読みやすくしたい」
こういうときに使うのが CHAR(10) です。
CHAR(10) は、Excel でいう「改行コード(行送り)」を表す特殊な文字で、文字列結合と組み合わせることで、
1セルの中に複数行のテキスト を作ることができます。
ここでは、プログラミング初心者向けに、基本パターンから実務でよく使うテンプレートまで、丁寧に解説します。
基本:CHAR(10) は「セル内改行」の記号
Excel のセル内で Alt+Enter を押すと、行が変わります。
CHAR(10) は、この「Alt+Enter による改行」と同じ意味を持つ特殊文字です。
例えば、次の式をセルに入力します。
="1行目" & CHAR(10) & "2行目"
すると、表示は次のようになります。
1行目
2行目
ただし、セルの書式で「折り返して全体を表示する」にチェックを入れておく必要があります。
これを忘れると、セルの中で改行されていても見た目は 1 行のままです。
パターン1:2つの文字列を改行でつなぐ
最もシンプルな使い方は、「文字列 + CHAR(10) + 文字列」です。
たとえば、A2 に「山田太郎」、B2 に「営業部」と入っているとして、
C2 に「山田太郎(1行目)」「営業部(2行目)」と表示したい場合は、次のように書きます。
=A2 & CHAR(10) & B2
これで、
山田太郎
営業部
という 2 行表示になります。
パターン2:ラベル+値を縦に並べる
顧客情報や問い合わせ情報を「見やすい形で 1 セルにまとめたい」ときにも、CHAR(10) が役立ちます。
たとえば、A2 に氏名、B2 に住所、C2 に電話番号が入っているとして、
D2 に次のような表示をしたいとします。
氏名:山田太郎
住所:東京都江東区
TEL:03-1234-5678
この場合、D2 に次のように書きます。
="氏名:" & A2 & CHAR(10) &
"住所:" & B2 & CHAR(10) &
"TEL:" & C2
ポイントは、
「行を変えたい場所で毎回 CHAR(10) をはさむ」
ことです。
パターン3:TEXTJOIN と組み合わせて「改行リスト」を作る
複数セルを「改行区切り」で 1 セルにまとめたいときは、TEXTJOIN と組み合わせると非常にスッキリ書けます。
例えば、A2:A4 に
A2:作業完了
A3:資料送付済み
A4:次回打ち合わせ:1/10
が入っているとして、これらを 1 セルに
作業完了
資料送付済み
次回打ち合わせ:1/10
のようにまとめたい場合、B2 に次の式を書きます。
=TEXTJOIN(CHAR(10), TRUE, A2:A4)
区切り文字に CHAR(10) を指定することで、「改行でつなぐ」ことができます。
TRUE としているのは「空白セルがあっても飛ばしたい」ためです。
パターン4:条件付きで改行する(IF と組み合わせ)
「ある項目が入力されているときだけ、その行を追加したい」
という場合、IF と組み合わせると柔軟になります。
たとえば、A2 に氏名、B2 に部署、C2 に内線番号があり、
部署や内線が空欄のときは、その行自体を出したくないケースです。
D2 に次のように書きます。
=A2 &
IF(B2<>"", CHAR(10) & "部署:" & B2, "") &
IF(C2<>"", CHAR(10) & "内線:" & C2, "")
B2 が空でなければ 2 行目に「部署:〜」、
C2 が空でなければ 3 行目に「内線:〜」が追加されます。
例として、
B2 に「営業部」、C2 は空 の場合は
山田太郎
部署:営業部
だけが表示され、余計な空行が出ません。
パターン5:複数行コメントや説明文をテンプレ化する
問い合わせ対応や報告コメントなど、「毎回似た形のコメントを作る」場合にも CHAR(10) が役立ちます。
例えば、次のようなテンプレコメントを作りたいとします。
ご対応ありがとうございます。
内容を確認し、問題ないことを確認しました。
引き続きよろしくお願いいたします。
これを 1 つのセルで出したいときは、次のように書きます。
="ご対応ありがとうございます。" & CHAR(10) &
"内容を確認し、問題ないことを確認しました。" & CHAR(10) &
"引き続きよろしくお願いいたします。"
あとは、この式を必要なセルにコピペするだけで、
毎回きれいな複数行コメントを一発で出せます。
改行付き文字列生成のポイント(よくあるハマりどころ)
改行付き文字列を扱うときの一番のハマりどころは、
「セルの表示形式(折り返し)を忘れること」です。
どれだけ CHAR(10) を入れても、
セルの書式から「折り返して全体を表示する」にチェックを入れていないと、表示上は 1 行のままに見えます。
やることは 2 つです。
- 数式中で改行したい箇所に CHAR(10) を入れる
- 対象セルの書式設定で「折り返して全体を表示する」にチェックを入れる
この 2 ステップをセットで覚えておくと、改行周りで迷わなくなります。
問題1
A2 に氏名「山田太郎」、B2 に部署「営業部」が入っています。
C2 に
山田太郎
営業部
と 2 行で表示したいです。
CHAR(10) を使った式を書いてください。
=A2 & CHAR(10) & B2
問題2
A2 に氏名、B2 に住所、C2 に電話番号が入っています。
D2 に
氏名:◯◯
住所:◯◯
TEL:◯◯
という 3 行の表示を出したいです。
CHAR(10) を使った式を書いてください。
="氏名:" & A2 & CHAR(10) &
"住所:" & B2 & CHAR(10) &
"TEL:" & C2
問題3
A2:A4 にそれぞれ「作業完了」「資料送付済み」「次回打ち合わせ:1/10」が入っています。
B2 に、この 3 つを改行区切りで 1 セルにまとめたいです。
TEXTJOIN と CHAR(10) を使った式を書いてください。
=TEXTJOIN(CHAR(10), TRUE, A2:A4)
問題4
A2 に氏名、B2 に部署(空欄のこともある)、C2 に内線(空欄のこともある)が入っています。
D2 に
山田太郎
部署:営業部
内線:1234
のように表示したいですが、部署や内線が空欄の場合は、その行自体を表示したくありません。
IF と CHAR(10) を使った式を書いてください。
=A2 &
IF(B2<>"", CHAR(10) & "部署:" & B2, "") &
IF(C2<>"", CHAR(10) & "内線:" & C2, "")
問題5
次の 3 行からなる固定コメントを 1 セルに表示したいです。
ご対応ありがとうございます。
内容を確認し、問題ないことを確認しました。
今後ともよろしくお願いいたします。
CHAR(10) を使った式を書いてください。
="ご対応ありがとうございます。" & CHAR(10) &
"内容を確認し、問題ないことを確認しました。" & CHAR(10) &
"今後ともよろしくお願いいたします。"
CHAR(10) は「セル内改行」を数式の中に埋め込むための小さなパーツですが、
ラベル・コメント・住所・一覧など、“見やすい表示専用の文字列” を作るうえでとても重要な役割を持っています。
慣れてくると、「改行したいときはとりあえず CHAR(10)」と自然に手が動くようになります。
