Excel関数 逆引き集 | 改行付き文字列 → CHAR(10)

Excel
スポンサーリンク

概要

「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 つです。

  1. 数式中で改行したい箇所に CHAR(10) を入れる
  2. 対象セルの書式設定で「折り返して全体を表示する」にチェックを入れる

この 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)」と自然に手が動くようになります。

Excel
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました