Excelでセル内に長い住所や文章を、読みやすく複数行に分けたいときはないでしょうか。
けど、そんな中で悩むことは、
・住所の「都道府県」「市区町村」「番地」を3行に分けたい
・たくさんのセルを1つずつ改行するのが手間で、ミスが起きる
ですよね。
今回はそんなお悩みを解決する
についてまとめます!
完成イメージ
セル内で改行したいときは、改行の入れ方によって向き不向きが変わります。
1件だけならキー操作、たくさんなら置換やVBAが便利です。
今回は
・住所の「都道府県」「市区町村」「番地」をセル内改行で3行に整形する方法5選
をゴールにします。
5つの方法を、向いている場面と注意点つきで使い分けられるようになります。
なお、改行したのに1行のままに見えるときの対処法(トラブルシュート)もあわせてご紹介します。
早速実装して試してみましょう!

上の画像が完成形です。1行だった住所が、セル内で「都道府県」「市区町村」「番地」の3行に整形されています。
もくじ
STEP1. 元データを用意する
まずは住所の一覧を用意します。
A列はNo、B列は氏名、C列は住所です。
住所は「東京都、新宿区、西新宿2-8-1」のように、都道府県・市区町村・番地を「、」で区切って入力しています。
この1行の住所を、これからセル内改行で3行にしていきます。

方法① Alt+Enterでセル内改行する
もっとも手軽なのが、キーボード操作で改行を入れる方法です。
セルをダブルクリックして編集状態にし、改行したい位置で Alt+Enter を押します。
これでセル内に改行が入り、D列のように3行で表示されます。
Alt+Enterで改行すると、そのセルは自動的に折り返して全体を表示するがONになります。
1件だけ手入力するときに向いている方法で、カンタンですね。

方法② 数式で改行する(&CHAR(10))
複数のセルを、セル内改行でつなげたいときは数式が使えます。
まず住所を「都道府県」「市区町村」「番地」の3つのセルに分けます(E〜G列)。
区切り位置や手入力で分けておくと、あとの数式がラクです。
分けただけでは1行のままなので、次の数式で改行しながら結合します。

数式はどのセルに入れる?
結合したいセルに、
=E2&CHAR(10)&F2&CHAR(10)&G2と入力します。
CHAR(10) が「セル内改行」を表す文字です。
セルを選んで数式バーに入力するだけなので、操作はカンタンです。
実際の入力画面がこちらです。

結合した結果を確認する
H列に、3行に分かれた住所ができました。
数式の結果をそのまま見ると1行で表示されるので、折り返して全体を表示するをONにします。
ホームタブの「折り返して全体を表示する」をクリックすればOKです。
行の高さが足りないときは、行番号の境界をドラッグして広げておきましょう。

方法③ SUBSTITUTEで区切り文字を改行に置換する
住所を3つに分けずに、区切り文字「、」をそのまま改行に変える方法です。
I2セルに =SUBSTITUTE(C2,”、”,CHAR(10)) と入力します。
「、」をCHAR(10)に置き換える、という意味の数式です。
元のC列はそのまま残るので、元データを残したいときに向いています。
実際の入力画面がこちらです。

置換した結果を確認する
I列に、3行に分かれた住所が並びました。
数式だけで完結するので、元データを触らずに整形できます。
区切り文字が「、」ではなくスペースや「/」でも、同じ考え方で置き換えられます。

方法④ 検索と置換で一括改行する
すでに入力済みのセルを、まとめて改行したいときは検索と置換が便利です。
改行したい範囲を選び、Ctrl+H で「検索と置換」を開きます。
検索する文字列に「、」、置換後の文字列に Ctrl+J を入力します。
「すべて置換」を押すと、J列のように一括で改行され、
範囲をまとめて選んでおけば、1回の操作で何十件でも処理できるので便利です。
方法⑤ VBAで一括改行する
もっと大量のデータや、毎回同じ作業をしたいときはVBAがおすすめです。
Alt+F11 でVBAエディターを開き、標準モジュールに次のコードを貼り付けて実行します。
Sub LineBreakAddress()
Dim r As Long
For r = 2 To 9
Cells(r, 11).Value = Replace(Cells(r, 3).Value, "、", vbLf)
Cells(r, 11).WrapText = True
Next r
End Sub
vbLf が改行コード、vbCrLf は「改行+復帰」を表します。
WindowsのExcelでは vbLf で問題ありませんが、環境によっては vbCrLf を使います。
実行すると、K列に3行の住所が一括で作られます。
ボタンに登録しておけば、次回からはワンクリックで実行できて便利です。

5つの方法の比較
それぞれの方法の特徴を表にまとめました。
| 方法 | 向いている場面 | 注意点 |
|---|---|---|
| ① Alt+Enter | 1件だけ手入力するとき | 1セルずつなので大量だと手間 |
| ② 数式(&CHAR(10)) | 分けたセルを改行しながら結合したいとき | 元の列は別に残る/結果は文字列 |
| ③ SUBSTITUTE関数 | 区切り文字がある住所を一気に改行 | 区切り文字が無いと使えない |
| ④ 検索と置換(Ctrl+J) | 入力済みのセルを一括で改行したいとき | 置換後の状態から元に戻すにはやり直しが必要 |
| ⑤ VBA(vbLf) | 大量データや繰り返しの作業 | マクロの実行許可が必要 |
1件だけなら Alt+Enter、入力済みを一括でなら 検索と置換(Ctrl+J) か VBA がおすすめです。
区切り文字がある住所なら SUBSTITUTE関数 ひとつで解決できます。
用途で使い分けると迷いません。
うまくいかないときの対処法(トラブルシュート)
実際に試すと、思ったようにいかないこともあるかもしれません。
よくあるつまずきと対処法をまとめました。
| 症状 | 原因 | 対処 |
|---|---|---|
| 改行したのに1行のままに見える | 「折り返して全体を表示する」がOFF/行の高さが足りない | ホームタブの折り返して全体を表示するをONにし、行の高さを広げる |
| CHAR(10)が効かない | MacのExcelでは改行コードが違う | Macでは CHAR(13) を使う |
| CSVに出すと改行が壊れる | CSVではセル内改行が行区切りと混同される | 改行を残したいときはCSVではなくxlsxで保存する |
| 検索と置換で改行を入れたい | 改行コードの入力方法がわからない | 置換後の文字列の欄で Ctrl+J を押す |
| 数式の結果が1行で表示される | 結果のセルで折り返しがOFFになっている | 結果のセルにも折り返して全体を表示するを設定する |
CHAR(10)で改行しているのに1行に見えるなら、この2つが原因のことが多いですよ。
数式は入っているのに…と悩む前に、この設定を確認してみましょう。
関数の説明
今回使う2つの関数の概要です。
どちらもセル内改行でよく使う関数なので、違いを押さえておきましょう。
CHAR関数(チャー)
| 書式 | =CHAR(数値) |
|---|---|
| できること | 文字コードに対応する文字を返します。10は改行、13は復帰を表します。 |
| 戻り値 | 文字(改行コードなど) |
| こんなときに | 数式の中でセル内改行を入れたいとき。 |
| 注意 | Windowsでは CHAR(10)、Macでは CHAR(13) を使います。 |
=A1&CHAR(10)&B1
SUBSTITUTE関数(サブスティテュート)
| 書式 | =SUBSTITUTE(文字列, 検索文字列, 置換文字列) |
|---|---|
| できること | 文字列の中の特定の文字を、別の文字に置き換えます。 |
| 戻り値 | 置き換えた後の文字列 |
| こんなときに | 区切り文字「、」を改行コードに置き換えて、住所を複数行にしたいとき。 |
| 注意 | 検索文字列は完全一致で置き換わります。区切り文字が無いと改行されません。 |
=SUBSTITUTE(C2, "、", CHAR(10))
完成
住所を5つの方法それぞれで、セル内3行に整形できました。
H〜K列のどの方法でも、同じ結果になっているのがわかります。
思ったとおりに動きましたか?
用途に合わせて方法を選べば、住所や長い文章の整形がぐっとラクになります。

さいごに
いかがでしょうか。
今回は、
についてまとめました。
まずは今回のサンプル表で、ぜひ一度試してみてください。
「1件だけならAlt+Enter」「たくさんなら検索と置換やVBA」と覚えると迷いません。
また、他にも便利なExcelの時短テクニックがありますので、よろしければご参照頂ければと思います。
ぜひ試してみてください。















コメントを残す