Excelで文字列を扱っていると、「セルの中で改行したい」と思う場面は多いのではないでしょうか。
手動であればAlt+Enterキーで改行できますが、大量のデータや数式を組み合わせた場合は、関数や数式を使って自動的に改行を挿入したいところです。
本記事では、Excelで改行を関数・数式で入れる方法として、CHAR関数・文字列結合・数式内での改行を中心にわかりやすく解説していきます。
初心者の方でも実践しやすいよう、具体的な使い方や注意点もあわせてご紹介しますので、ぜひ最後までご覧ください。
ExcelでCHAR関数を使えばセル内改行を数式で自由に挿入できる
それではまず、Excelで改行を関数・数式で入れる方法の結論について解説していきます。
Excelにおけるセル内改行を数式で実現する鍵となるのが、CHAR関数です。
CHAR関数は文字コードを指定して対応する文字を返す関数で、改行コードに相当するCHAR(10)を数式に組み込むことで、セル内に改行を挿入することができます。
この方法を使えば、複数のセルの文字列を結合しながら、任意の位置に改行を入れた表示が可能になります。
Excelでの改行コードはCHAR(10)です。これを文字列結合演算子(&)とあわせて使うことが、数式で改行を実現する最も基本的な方法になります。
なお、CHAR(10)を使っても改行が表示されない場合は、対象のセルに「折り返して全体を表示する」設定が適用されているかを確認してください。
この設定がオフになっていると、改行コードが挿入されていても見た目上は反映されないため、注意が必要です。
CHAR関数とは何か・基本的な書き方
CHAR関数は、指定した数値(文字コード)に対応する文字を返す関数です。
書き方はシンプルで、以下のように記述します。
=CHAR(数値)
例:=CHAR(10) → 改行コードを返す
Windowsでは改行コードは「10」(ラインフィード)が使われており、CHAR(10)がExcelのセル内改行に対応しています。
MacのExcelでも同様にCHAR(10)が使用できますので、OS問わず活用できる点が便利です。
「折り返して全体を表示する」の設定方法
CHAR(10)を数式に含めただけでは、セルの表示が改行されない場合があります。
その場合は、対象セルを選択した状態で「ホーム」タブ →「折り返して全体を表示する」ボタンをクリックしてください。
この設定を有効にすることで、CHAR(10)による改行が画面上にも正しく反映されます。
数式の記述が正しいのに改行が見えない場合は、まずこの設定を確認してみましょう。
CHAR関数と文字列を組み合わせた基本例
実際の使い方を見てみましょう。
たとえば、A1セルに「東京都」、B1セルに「渋谷区」が入っている場合、以下の数式でセル内改行しながら結合できます。
=A1&CHAR(10)&B1
結果:東京都(改行)渋谷区
このように、文字列の間にCHAR(10)を挟むだけで、改行付きの文字列を生成できます。
複数の項目をまとめて1つのセルに表示したい場合など、非常に実用的な方法です。
CHAR関数と文字列結合(&演算子・CONCATENATE関数)で改行を挿入する方法
続いては、CHAR関数と文字列結合を組み合わせた具体的な使い方を確認していきます。
Excelで文字列を結合する方法は主に2つあり、&演算子とCONCATENATE関数(またはCONCAT関数・TEXTJOIN関数)が代表的です。
これらをCHAR(10)と組み合わせることで、柔軟に改行付き文字列を作成できます。
&演算子でCHAR(10)を挟む方法
最もシンプルな方法が、&演算子を使った文字列結合です。
複数のセル参照や文字列リテラルの間にCHAR(10)を挟むだけで、改行を含む結合文字列を作れます。
=”氏名:”&A1&CHAR(10)&”住所:”&B1&CHAR(10)&”電話:”&C1
結果:
氏名:山田太郎(改行)住所:東京都渋谷区(改行)電話:090-XXXX-XXXX
ラベルと値をセットにして改行しながら並べることができるため、名簿や帳票などの整形に役立ちます。
文字列が多くなると数式が長くなりますが、視覚的にわかりやすい構造です。
CONCATENATE関数・CONCAT関数でCHAR(10)を使う方法
CONCATENATE関数(Excel 2019以降ではCONCAT関数が推奨)を使っても、同様の結合が可能です。
=CONCATENATE(A1, CHAR(10), B1, CHAR(10), C1)
または
=CONCAT(A1, CHAR(10), B1, CHAR(10), C1)
&演算子と結果は同じですが、引数を並べるだけなので、結合する要素が多い場合は視認性が上がることもあります。
どちらを使うかは好みや状況によって選ぶとよいでしょう。
TEXTJOIN関数で区切り文字に改行を使う方法
Excel 2019以降で使えるTEXTJOIN関数は、区切り文字を指定して複数の文字列を結合できる便利な関数です。
この区切り文字にCHAR(10)を指定することで、各要素の間に自動的に改行を入れることができます。
=TEXTJOIN(CHAR(10), TRUE, A1:A5)
結果:A1からA5の内容を改行区切りで結合
第2引数のTRUEは「空のセルを無視する」設定で、空白セルがあっても連続した改行が入らないため、データが不揃いな場合でもきれいに整形できます。
範囲指定ができるため、大量のデータを一気に改行付きで結合したいときに特に重宝します。
数式・IF関数・条件付きで改行を入れる応用テクニック
続いては、より実践的な応用テクニックを確認していきます。
CHAR(10)は単独で使うだけでなく、IF関数などの条件分岐と組み合わせることで、条件によって改行の有無を切り替えるといった柔軟な使い方も可能です。
IF関数と組み合わせて条件付きで改行を入れる
たとえば、備考欄のセルが空欄のときは改行を入れず、値があるときだけ改行して追記するという処理が実現できます。
=A1&IF(B1=””,””,CHAR(10)&B1)
B1が空欄 → A1の値のみ表示
B1に値あり → A1(改行)B1の値を表示
このように、IF関数でCHAR(10)の挿入を制御することで、不要な空白行のない見やすい表示が実現できます。
データが部分的に空欄になりがちなリストやフォームに活用してみてください。
複数条件・IFS関数と組み合わせた改行の制御
IFS関数(Excel 2019以降)を使えば、複数の条件に応じた改行制御もスマートに記述できます。
=A1&IFS(B1=””,””,C1=””,CHAR(10)&B1,TRUE,CHAR(10)&B1&CHAR(10)&C1)
少し複雑に見えますが、条件の数が増えるほどIFSの方がすっきり書けるため、可読性の面でメリットがあります。
数式の管理がしやすくなるため、複雑な帳票や報告書テンプレートを作る際に覚えておくと便利です。
改行を含む文字列を検索・置換する際の注意点
CHAR(10)で挿入した改行を含むセルを検索・置換したい場合、通常の「検索と置換」ダイアログでは少し工夫が必要です。
検索ボックスにCHAR(10)をそのまま入力することはできませんが、Ctrl+Jを入力することで改行コードを検索対象として指定できます。
「検索と置換(Ctrl+H)」ダイアログで、検索ボックスにカーソルを置いてCtrl+Jを押すと、改行コードを検索対象として設定できます。置換ボックスに何も入力しなければ、改行の一括削除も可能です。
この操作を知っておくと、CHAR(10)で挿入した改行を後から一括処理する際にとても役立ちます。
Excelで改行を関数で入れる際のよくあるトラブルと解決策
続いては、実際に改行を関数で入れようとしたときによく起こるトラブルと、その解決策を確認していきます。
正しい数式を書いていても、設定や環境によってうまく表示されないことがあります。
代表的なケースを表にまとめましたので、参考にしてください。
| トラブル | 原因 | 解決策 |
|---|---|---|
| 改行が表示されない | 「折り返して全体を表示する」がオフ | ホームタブから「折り返して全体を表示する」をオンにする |
| 改行が四角(□)で表示される | 折り返し設定がオフ、またはフォントの問題 | 折り返し設定をオン、フォントを確認する |
| CHAR(13)を使っても改行されない | WindowsのExcelではCHAR(10)が正解 | CHAR(10)に変更する |
| CSVエクスポートで改行が崩れる | CSV形式は改行コードの扱いが異なる | エクスポート前に改行を削除するか、専用のCSVエクスポート設定を使う |
| 改行を含むセルを別のソフトに貼り付けると文字化けする | 改行コードの互換性の問題 | 貼り付け先のソフトの仕様を確認し、必要に応じてCHAR(13)&CHAR(10)を試す |
CHAR(10)とCHAR(13)の違いと使い分け
改行コードにはCHAR(10)とCHAR(13)の2種類があります。
CHAR(10)はラインフィード(LF)、CHAR(13)はキャリッジリターン(CR)に対応しており、WindowsのExcelでセル内改行に使うのはCHAR(10)です。
一方、テキストファイルなどではCR+LF(CHAR(13)&CHAR(10))が使われることもあるため、データのやり取り先に応じて使い分けが必要になる場面もあります。
改行を削除・置換したい場合の数式
逆に、CHAR(10)で挿入された改行を数式で削除したいケースもあるでしょう。
その場合はSUBSTITUTE関数を使うのが最もシンプルな方法です。
=SUBSTITUTE(A1, CHAR(10), “”)
→ A1セル内の改行をすべて削除
=SUBSTITUTE(A1, CHAR(10), “、”)
→ 改行を読点(、)に置き換え
SUBSTITUTE関数はCHAR(10)をそのまま引数に指定できるため、改行の削除・置換に非常に便利です。
データをCSVに書き出す前や、別システムに連携する前の整形処理として活用してみてください。
スピル機能(動的配列)と改行の組み合わせ
Excel 365やExcel 2021以降では、スピル機能(動的配列)が使えるようになっています。
TEXTJOIN+CHAR(10)と組み合わせることで、動的に変化するリストを改行付きで結合するといった高度な処理も可能です。
データが増減しても自動的に結果が更新されるため、管理の手間が大幅に省けます。
将来的にExcel 365への移行を検討している場合は、ぜひ活用を視野に入れてみてください。
まとめ
本記事では、Excelで改行を関数・数式で入れる方法として、CHAR関数・文字列結合・条件付き改行・トラブル対処法まで幅広く解説しました。
最も基本となるのはCHAR(10)を&演算子で文字列の間に挟む方法で、これだけでセル内改行を数式で自由に制御できるようになります。
さらにTEXTJOIN関数やIF関数と組み合わせることで、より柔軟で実用的な改行の挿入が可能です。
「折り返して全体を表示する」の設定を忘れずにオンにすること、改行が見えないときはCtrl+Jを使った検索・置換を試すことなど、トラブル対処のポイントも押さえておくと安心でしょう。
ぜひ今日から業務の中でCHAR関数を活用して、Excelでの文字列整形をより効率的に進めてみてください。