Excel(エクセル)で文字列を結合するとき、こんな困った経験はありませんか?
- 名前と部署名を改行して表示したいのに、一行になってしまう
- 住所を複数行に分けて見やすくしたい
- 商品名と価格を改行で区切って表示したい
例えば、以下のようにしたいとき:
田中太郎
営業部
普通に =A1 & B1
と書くと「田中太郎営業部」と一行になってしまいます。
そんなときに使えるのが CHAR(10) 関数です。
この記事では、以下について分かりやすく解説します:
- Excelで関数を使って改行する基本的な方法
- 便利なCONCAT・TEXTJOINとの組み合わせ方
- 実際の作業で使える具体的な活用例
- よくあるトラブルと解決方法
CHAR(10) とは?改行コードの基礎知識

CHAR(10) の意味
CHAR(10)
は「改行コード(LF:Line Feed)」を表す関数です。コンピューターでは、改行を数字の「10」で表現しており、この数字をCHAR関数で文字に変換することで改行ができます。
なぜ CHAR(10) なのか?
文字には見えない「制御文字」というものがあり、改行もその一つです。以下のような制御文字があります:
文字コード | 意味 | 用途 |
---|---|---|
CHAR(10) | 改行(LF) | セル内での改行 |
CHAR(13) | 復帰(CR) | 主にWindowsの改行 |
CHAR(9) | タブ | 文字の間隔を空ける |
Excel では CHAR(10) を使うのが一般的です。
基本的な改行方法:& 演算子とCHAR(10)
基本の使い方
データ例
A1 | B1 |
---|---|
田中太郎 | 営業部 |
関数の書き方
=A1 & CHAR(10) & B1
設定が必要:「テキストを折り返す」
このままでは CHAR(10)
を入れても見た目は改行されません。以下の設定が必要です:
設定手順
- 結果を表示するセルを選択
- リボンメニューで設定
ホーム → 配置 → テキストを折り返す
- チェックマークが付いていることを確認
設定後の表示
田中太郎
営業部
より複雑な例
3つの項目を改行でつなぐ場合
A1 | B1 | C1 |
---|---|---|
田中太郎 | 営業部 | 東京支社 |
関数
=A1 & CHAR(10) & B1 & CHAR(10) & C1
結果
田中太郎
営業部
東京支社
TEXTJOIN関数を使った効率的な改行

TEXTJOIN とは?
Excel 2016以降で使える関数で、複数のセルを指定した区切り文字でつなげることができます。改行での結合が非常に簡単になります。
基本的な使い方
構文
=TEXTJOIN(区切り文字, 空のセルを無視するか, 範囲1, 範囲2, ...)
実際の例
A1 | A2 | A3 |
---|---|---|
田中太郎 | 営業部 | 東京支社 |
=TEXTJOIN(CHAR(10), TRUE, A1:A3)
TEXTJOINのメリット
空のセルを自動的にスキップ
データ例
A1 | A2 | A3 |
---|---|---|
田中太郎 | (空白) | 東京支社 |
=TEXTJOIN(CHAR(10), TRUE, A1:A3)
結果
田中太郎
東京支社
空白のA2は自動的にスキップされます。
範囲指定で一括処理
=TEXTJOIN(CHAR(10), TRUE, A1:A10)
のように範囲を指定すれば、一度に多くのセルを改行でつなげられます。
条件付きでの改行結合
IF関数と組み合わせた例
=TEXTJOIN(CHAR(10), TRUE, A1, IF(B1<>"", B1, ""), IF(C1<>"", C1, ""))
これにより、空でないセルのみを改行でつなげることができます。
CONCAT関数を使った改行
CONCAT とは?
Excel 2016から導入された文字列結合関数です。従来のCONCATENATE関数よりもシンプルに書けます。
基本的な使い方
従来の方法(CONCATENATE)
=CONCATENATE(A1, CHAR(10), A2, CHAR(10), A3)
新しい方法(CONCAT)
=CONCAT(A1, CHAR(10), A2, CHAR(10), A3)
CONCATの特徴
範囲指定が可能
=CONCAT(A1:A3)
ただし、この場合は改行なしで全てつながります。改行を入れたい場合は個別に指定する必要があります。
配列数式との組み合わせ
=CONCAT(A1:A3&CHAR(10))
このような使い方も可能ですが、最後に余分な改行が入るため注意が必要です。
実際の作業での活用例
住所の整形
元データ
A1 | B1 | C1 | D1 |
---|---|---|---|
東京都 | 新宿区 | 西新宿1-1-1 | 新宿ビル10F |
関数
=TEXTJOIN(CHAR(10), TRUE, A1:D1)
結果
東京都
新宿区
西新宿1-1-1
新宿ビル10F
商品情報の表示
元データ
A1 | B1 | C1 |
---|---|---|
iPhone 15 | 128,000円 | 在庫あり |
関数
=A1 & CHAR(10) & "価格:" & B1 & CHAR(10) & "状況:" & C1
結果
iPhone 15
価格:128,000円
状況:在庫あり
名簿の整理
元データ
A1 | B1 | C1 | D1 |
---|---|---|---|
田中 | 太郎 | 営業部 | 課長 |
関数
=A1 & B1 & CHAR(10) & C1 & " " & D1
結果
田中太郎
営業部 課長
高度な活用方法

条件に応じた改行
IF関数との組み合わせ
=A1 & IF(B1<>"", CHAR(10) & B1, "") & IF(C1<>"", CHAR(10) & C1, "")
この関数により、空でないセルのみを改行でつなげることができます。
複数の区切り文字の使い分け
営業時間の表示例
A1 | B1 | C1 |
---|---|---|
平日 | 9:00-18:00 | 土日祝休み |
関数
=A1 & ":" & B1 & CHAR(10) & C1
結果
平日:9:00-18:00
土日祝休み
数式内での改行制御
長い文章の自動改行
=LEFT(A1,20) & IF(LEN(A1)>20, CHAR(10) & MID(A1,21,20), "") & IF(LEN(A1)>40, CHAR(10) & MID(A1,41,20), "")
これにより、長い文章を20文字ごとに自動改行できます。
よくあるトラブルと解決方法

Q. 改行が表示されない
原因 「テキストを折り返す」設定がオフになっている
解決方法
- 対象セルを選択
- ホーム → 配置 → テキストを折り返すをクリック
- 行の高さを調整(必要に応じて)
Q. 行の高さが自動調整されない
原因 行の高さが固定値に設定されている
解決方法
- 行番号を右クリック
- 「行の高さ」を選択
- 「自動調整」をクリック
または、行の境界線をダブルクリックして自動調整
Q. CSVファイルで改行がおかしくなる
原因 CSVファイルはセル内改行を適切に処理できない場合がある
解決方法
- Excel内での使用に限定する
- エクスポート時は改行を他の文字に置換する
=SUBSTITUTE(A1, CHAR(10), " / ")
- TSV(タブ区切り)形式を使用する
Q. コピー&ペーストで改行が消える
原因 ペースト先のアプリケーションが改行コードを認識しない
解決方法
- **「形式を選択して貼り付け」**を使用
- 値のみ貼り付けを選択
- 必要に応じて **「テキストを折り返す」**を再設定
Q. 改行コードを他の文字に一括変換したい
解決方法
=SUBSTITUTE(A1, CHAR(10), " / ")
SUBSTITUTE関数を使って改行を任意の文字に置換できます。
Q. 印刷時に改行が反映されない
原因と解決方法
- プリンタの設定確認
- ページ設定で「セルに合わせて拡大/縮小」を確認
- 印刷プレビューで確認
- ファイル → 印刷でプレビュー表示
- セルの高さ調整
- 印刷に適した行の高さに手動調整
バージョン別の対応状況
関数の対応バージョン
関数 | 対応バージョン | 代替手段 |
---|---|---|
CHAR(10) | 全バージョン | なし(基本機能) |
TEXTJOIN | Excel 2016以降 | 連続した&演算子 |
CONCAT | Excel 2016以降 | CONCATENATE関数 |
古いバージョンでの代替方法
Excel 2013以前でTEXTJOINを使いたい場合
=A1 & CHAR(10) & A2 & CHAR(10) & A3 & CHAR(10) & A4
または、CONCATENATE関数を使用:
=CONCATENATE(A1, CHAR(10), A2, CHAR(10), A3, CHAR(10), A4)
実用的なテンプレート
宛名ラベル用
=A1 & " " & B1 & " 様" & CHAR(10) & CHAR(10) & C1 & CHAR(10) & D1 & CHAR(10) & E1
商品説明用
="商品名:" & A1 & CHAR(10) & "価格:" & B1 & "円" & CHAR(10) & "在庫:" & C1 & "個"
連絡先情報用
=A1 & CHAR(10) & "TEL:" & B1 & CHAR(10) & "EMAIL:" & C1
まとめ
Excelで関数を使って改行する方法について、重要なポイントをまとめます:
基本的な方法
- CHAR(10) を使って改行コードを挿入
- &演算子 で文字列と改行コードを結合
- 「テキストを折り返す」設定 が必須
効率的な方法
- TEXTJOIN関数:複数セルを一括で改行結合(Excel 2016以降)
- CONCAT関数:シンプルな文字列結合(Excel 2016以降)
- 条件付き結合:IF関数と組み合わせて空セルをスキップ
実用的な活用場面
- 住所や名簿の整理:見やすい形式での表示
- 商品情報の表示:価格や在庫情報を改行で整理
- レポート作成:データを読みやすい形にフォーマット
注意点
- CSVエクスポート時は改行が問題になる場合がある
- 印刷時は行の高さ調整が必要
- 古いバージョンでは一部関数が使用できない
コメント