Excelで関数を使って改行する方法|CONCAT・TEXTJOINとCHARの使い方

Excel

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)

基本の使い方

データ例

A1B1
田中太郎営業部

関数の書き方

=A1 & CHAR(10) & B1

設定が必要:「テキストを折り返す」

このままでは CHAR(10) を入れても見た目は改行されません。以下の設定が必要です:

設定手順

  1. 結果を表示するセルを選択
  2. リボンメニューで設定 ホーム → 配置 → テキストを折り返す
  3. チェックマークが付いていることを確認

設定後の表示

田中太郎
営業部

より複雑な例

3つの項目を改行でつなぐ場合

A1B1C1
田中太郎営業部東京支社

関数

=A1 & CHAR(10) & B1 & CHAR(10) & C1

結果

田中太郎
営業部
東京支社

TEXTJOIN関数を使った効率的な改行

TEXTJOIN とは?

Excel 2016以降で使える関数で、複数のセルを指定した区切り文字でつなげることができます。改行での結合が非常に簡単になります。

基本的な使い方

構文

=TEXTJOIN(区切り文字, 空のセルを無視するか, 範囲1, 範囲2, ...)

実際の例

A1A2A3
田中太郎営業部東京支社
=TEXTJOIN(CHAR(10), TRUE, A1:A3)

TEXTJOINのメリット

空のセルを自動的にスキップ

データ例

A1A2A3
田中太郎(空白)東京支社
=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))

このような使い方も可能ですが、最後に余分な改行が入るため注意が必要です。

実際の作業での活用例

住所の整形

元データ

A1B1C1D1
東京都新宿区西新宿1-1-1新宿ビル10F

関数

=TEXTJOIN(CHAR(10), TRUE, A1:D1)

結果

東京都
新宿区
西新宿1-1-1
新宿ビル10F

商品情報の表示

元データ

A1B1C1
iPhone 15128,000円在庫あり

関数

=A1 & CHAR(10) & "価格:" & B1 & CHAR(10) & "状況:" & C1

結果

iPhone 15
価格:128,000円
状況:在庫あり

名簿の整理

元データ

A1B1C1D1
田中太郎営業部課長

関数

=A1 & B1 & CHAR(10) & C1 & " " & D1

結果

田中太郎
営業部 課長

高度な活用方法

条件に応じた改行

IF関数との組み合わせ

=A1 & IF(B1<>"", CHAR(10) & B1, "") & IF(C1<>"", CHAR(10) & C1, "")

この関数により、空でないセルのみを改行でつなげることができます。

複数の区切り文字の使い分け

営業時間の表示例

A1B1C1
平日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. 改行が表示されない

原因 「テキストを折り返す」設定がオフになっている

解決方法

  1. 対象セルを選択
  2. ホーム → 配置 → テキストを折り返すをクリック
  3. 行の高さを調整(必要に応じて)

Q. 行の高さが自動調整されない

原因 行の高さが固定値に設定されている

解決方法

  1. 行番号を右クリック
  2. 「行の高さ」を選択
  3. 「自動調整」をクリック

または、行の境界線をダブルクリックして自動調整

Q. CSVファイルで改行がおかしくなる

原因 CSVファイルはセル内改行を適切に処理できない場合がある

解決方法

  • Excel内での使用に限定する
  • エクスポート時は改行を他の文字に置換する =SUBSTITUTE(A1, CHAR(10), " / ")
  • TSV(タブ区切り)形式を使用する

Q. コピー&ペーストで改行が消える

原因 ペースト先のアプリケーションが改行コードを認識しない

解決方法

  • **「形式を選択して貼り付け」**を使用
  • 値のみ貼り付けを選択
  • 必要に応じて **「テキストを折り返す」**を再設定

Q. 改行コードを他の文字に一括変換したい

解決方法

=SUBSTITUTE(A1, CHAR(10), " / ")

SUBSTITUTE関数を使って改行を任意の文字に置換できます。

Q. 印刷時に改行が反映されない

原因と解決方法

  1. プリンタの設定確認
    • ページ設定で「セルに合わせて拡大/縮小」を確認
  2. 印刷プレビューで確認
    • ファイル → 印刷でプレビュー表示
  3. セルの高さ調整
    • 印刷に適した行の高さに手動調整

バージョン別の対応状況

関数の対応バージョン

関数対応バージョン代替手段
CHAR(10)全バージョンなし(基本機能)
TEXTJOINExcel 2016以降連続した&演算子
CONCATExcel 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エクスポート時は改行が問題になる場合がある
  • 印刷時は行の高さ調整が必要
  • 古いバージョンでは一部関数が使用できない

コメント

タイトルとURLをコピーしました