エクセルでセル内に改行を入れる方法というと、Alt+Enterによる手動操作を思い浮かべる方が多いでしょう。しかし、関数や数式を使えばデータを結合しながら自動的に改行を挿入することができます。
特に大量のデータを扱う場面では、ひとつひとつ手動で改行を入れるのは非常に手間がかかります。CHAR(10)やTEXT関数を活用することで、効率的かつ正確に改行を含む文字列を生成できます。
この記事では、CHAR(10)を中心とした関数・数式による改行の挿入方法を、具体的な活用例とともに丁寧に解説します。
関数で改行を挿入する結論:CHAR(10)が基本
それではまず、エクセルで関数を使って改行を挿入する方法の結論について解説していきます。
エクセルで関数を使ってセル内に改行を挿入するには、改行コードを表すCHAR(10)関数を使います。
CHAR(10)は文字コード10番、すなわちラインフィード(LF)を表す関数で、文字列結合の演算子(&)と組み合わせることで任意の位置に改行を挿入できます。
関数で改行を挿入する主な方法まとめ
・基本 → =A1&CHAR(10)&B1(「折り返して全体を表示」が必要)
・TEXT関数と組み合わせ → =TEXT(A1,”yyyy年m月d日”)&CHAR(10)&B1
・TEXTJOIN関数 → =TEXTJOIN(CHAR(10),TRUE,A1:D1)
・IF関数と組み合わせ → 条件に応じて改行を入れたり省いたりできる
まずは最も基本的なCHAR(10)の使い方を、画面イメージで確認していきましょう。
▲ C2に「=A2&CHAR(10)&B2」を入力し、フィルハンドルをC4までドラッグしてオートフィルで一括適用。「折り返して全体を表示」の設定が必要。
C2に数式を入力したら、フィルハンドル(セル右下の■)を下にドラッグするとC3・C4にも同じ数式が自動展開されます。
「折り返して全体を表示」をオンにしておかないと改行が視覚的に反映されないため、必ず設定を確認しましょう。
CHAR(10)の基本的な使い方
CHAR(10)は単体では使わず、文字列結合演算子(&)と組み合わせて使います。
A2(氏名)とB2(部署)を改行区切りで結合する数式
=A2&CHAR(10)&B2
結果:山田 太郎(改行)営業部 ※折り返し設定が必要
3つ以上の値を改行区切りでつなげる場合も、CHAR(10)を間に挟んでいくだけで対応できます。
CHAR(10)が使える条件を確認する
CHAR(10)による改行はWindowsのエクセルで使用するLF(ラインフィード)です。
MacのExcelでも同様にCHAR(10)が使えますが、古いMac形式のファイル(CR形式)に変換した場合はCHAR(13)が必要になるケースもあるため注意しましょう。
通常のxlsx形式でやり取りする範囲では、CHAR(10)で問題なく動作します。
CHAR(10)を使う際に必ず行う設定
CHAR(10)で改行を挿入した数式を入力したセルには、必ず「折り返して全体を表示」を設定します。
設定方法は、対象セルを選択して「ホーム」タブの「折り返して全体を表示」ボタンをクリックするだけです。
この設定がないと、改行コードが含まれていても画面上では1行のまま表示されてしまいます。
TEXT関数とCHAR(10)を組み合わせた活用例
続いては、TEXT関数とCHAR(10)を組み合わせた実践的な活用例を確認していきます。
TEXT関数は数値や日付を指定した書式の文字列に変換する関数で、CHAR(10)と組み合わせることで改行を含む整形された文字列を作成できます。
▲ C2に「=TEXT(A2,”yyyy年m月d日”)&CHAR(10)&B2&”円”」を入力し、フィルハンドルをC4までドラッグしてオートフィルで一括適用。
TEXT関数で日付・数値を整形しながら改行を挿入する
日付や数値はそのままセル参照すると表示形式が崩れることがあります。
TEXT関数を使うことで、日付を「yyyy年m月d日」などの書式に変換してからCHAR(10)と結合できます。
日付と金額を改行区切りで整形して結合する数式(C2に入力)
=TEXT(A2,”yyyy年m月d日”)&CHAR(10)&B2&”円”
結果:2026年4月1日(改行)50000円
数式をC2に入力したら、フィルハンドルを下にドラッグするだけでC3以降にも自動展開されます。
金額をカンマ付きで表示しながら改行する
金額をカンマ区切りで表示したい場合も、TEXT関数の書式指定で対応できます。
金額をカンマ付きで表示しながら日付と結合する数式
=TEXT(A2,”yyyy年m月d日”)&CHAR(10)&TEXT(B2,”#,##0″)&”円”
結果:2026年4月1日(改行)50,000円
TEXT関数の第2引数に書式文字列を指定
することで、数値の表示形式を自由にコントロールできます。
改行を含む文字列をIF関数で条件分岐させる
条件に応じて改行を入れたり省いたりする場合は、IF関数とCHAR(10)を組み合わせます。
B列が空白の場合は改行なし・値がある場合は改行して結合する数式
=A2&IF(B2=””,””,CHAR(10)&B2)
結果:B2が空白 → A2のみ表示 B2に値あり → A2(改行)B2
データによって改行の有無が変わる場面で非常に役立つ組み合わせです。
TEXTJOIN関数でCHAR(10)を使って複数セルを改行結合する方法
続いては、TEXTJOIN関数を使って複数セルを改行区切りでまとめて結合する方法を確認していきます。
TEXTJOIN関数はExcel 2019以降・Microsoft 365で使える関数で、セル範囲を指定してまとめて結合できるため、列数が多いデータの処理に特に便利です。
| 関数 | 特徴 | 向いている場面 |
|---|---|---|
| CHAR(10)+& | シンプルで直感的 | 2〜3列の結合 |
| TEXT+CHAR(10) | 書式を整えながら結合 | 日付・数値を含む結合 |
| TEXTJOIN+CHAR(10) | 範囲指定でまとめて結合 | 4列以上の大量結合 |
| IF+CHAR(10) | 条件で改行の有無を制御 | 空白セルをスキップしたい場合 |
▲ E2に「=TEXTJOIN(CHAR(10),TRUE,A2:D2)」を入力し、フィルハンドルをE3以降にドラッグしてオートフィルで一括適用。空白セルは自動スキップ。
TEXTJOINでセル範囲を改行区切りでまとめて結合する
TEXTJOINを使えば、A2からD2までの4列分のデータを改行区切りでまとめて結合できます。
A2:D2の範囲を改行区切りで結合する数式(E2に入力)
=TEXTJOIN(CHAR(10),TRUE,A2:D2)
第2引数のTRUEは「空白セルをスキップする」設定。FALSEにすると空白も改行として挿入される。
E2に入力したら、フィルハンドルを下にドラッグしてオートフィルすることでE3以降にも一括適用されます。
空白セルを自動でスキップするため、データが一部欠けていても余分な改行が入らないのが大きなメリットです。
TEXTJOINが使えないバージョンへの対処法
TEXTJOIN関数はExcel 2016以前では使用できません。
古いバージョンのExcelを使用している場合は、CHAR(10)と&演算子を組み合わせた数式で代替しましょう。
また、CONCATENATEとCHAR(10)を組み合わせる方法もExcel 2003以降で使用できる互換性の高い代替手段です。
まとめ
この記事では、エクセルの改行を関数・数式で挿入する(CHAR(10)・TEXT関数・活用例)方法について解説しました。
関数で改行を挿入する基本はCHAR(10)で、文字列結合演算子(&)と組み合わせることで任意の位置に改行を挿入できます。
TEXT関数との組み合わせで日付や数値の書式を整えながら改行を入れることができ、TEXTJOIN関数を使えば複数列をまとめて改行区切りで結合できます。
いずれの方法でも「折り返して全体を表示」の設定をオンにすることが前提条件となるため、忘れずに設定しておきましょう。
関数で改行を挿入する方法まとめ
・基本 → =A1&CHAR(10)&B1
・日付を整形して結合 → =TEXT(A1,”yyyy年m月d日”)&CHAR(10)&B1
・金額をカンマ付きで結合 → =TEXT(A1,”#,##0″)&”円”&CHAR(10)&B1
・条件で改行を制御 → =A1&IF(B1=””,””,CHAR(10)&B1)
・複数列をまとめて結合 → =TEXTJOIN(CHAR(10),TRUE,A1:D1)
・設定 → 対象セルの「折り返して全体を表示」を必ずオンに
目的や状況に合った関数を選び、エクセルのデータ整理・資料作成を効率よく進めてください。