セルの中で改行するには、入力中にAlt+Enterを押します。MacではControl+Option+Returnを押します。Microsoft 365 for MacではOption+Returnも使えます。数式では改行はCHAR(10)で、=A2&CHAR(10)&B2はB2の文字列をA2の文字列の下の2行目に置きます。
| A | B | C | |
|---|---|---|---|
| 1 | Street | City | Address label |
| 2 | 12 Oak Road | Leeds | 12 Oak Road Leeds |
| 3 | 4 Mill Lane | York | 4 Mill Lane York |
C2をクリックしてください。数式は通り名、改行、都市名をつないでいます。この小さなシートでは結果が1行で表示されます。Excelでも、そのセルでホーム > 折り返して全体を表示するをオンにするまでは1行で表示されます。オンにすると行が高くなり、都市名が通り名の下に表示されます。Alt+Enterで入力した改行は、自動で「折り返して全体を表示する」をオンにします。数式による改行はオンにしないので、「CHAR(10)で改行されない」のはたいていこれが原因です。
Enterだけを押すとセルの入力が終わり、下に移動します。Googleスプレッドシートでは、セル内の改行はCtrl+EnterかAlt+Enter(MacではCmd+Enter)で、CHAR(10)も同じように動きます。
改行は1文字
CHAR(10)は文字コード10の改行文字(ラインフィード)です。1文字として数え、FINDやSUBSTITUTEでほかの文字と同じように探せます:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Text | Length | Break at | First line |
| 2 | Ana Silva | 9 | 4 | Ana |
Ana、改行、Silvaで9文字になり、改行は4文字目です。D2はその前をすべて取り出します。ここでA2を数式で作っているのは、改行の位置を見えるようにするためだけです。Alt+Enterを押して入力したセルも同じように動きます。
| A | B | C | |
|---|---|---|---|
| 1 | Name | Title | Badge |
| 2 | Ana Silva | Manager |
やってみよう: C2で、A2の名前とB2の役職を1つのセルにまとめ、役職を2行目にしてください。
範囲を改行でつなげる
リスト全体を1つのセルに縦に並べるには、TEXTJOINの区切り文字にCHAR(10)を使います:
| A | B | C | |
|---|---|---|---|
| 1 | Item | List | |
| 2 | Milk | Milk Bread Eggs | |
| 3 | Bread | ||
| 4 | Eggs |
TEXTJOINがないExcel 2016以前では、&でセルをつなぎます:=A2&CHAR(10)&A3&CHAR(10)&A4。
改行を削除する
メール、Webフォーム、ほかのプログラムからコピーしたデータには、よく改行が含まれています。SUBSTITUTEで改行をそれぞれスペースかカンマに置き換えます:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Imported | Spaces | Commas | CLEAN |
| 2 | Milk Bread Eggs | Milk Bread Eggs | Milk, Bread, Eggs | MilkBreadEggs |
D2のCLEANも改行を削除しますが、その場所に何も入れないので、単語がくっついてMilkBreadEggsになります。Windowsのファイルから来た文字列には、改行の前に復帰文字CHAR(13)が付いていることがあります。両方を取り除くには=SUBSTITUTE(SUBSTITUTE(A2,CHAR(13),""),CHAR(10)," ")を使います。
| A | B | |
|---|---|---|
| 1 | Imported | One line |
| 2 | Ana Ben Chen |
やってみよう: A2の名前は別々の行にあります。B2で、改行をそれぞれカンマとスペースに置き換えて、1行で返してください。
改行でセルを分割する
=TEXTSPLIT(A2,CHAR(10))は各行をそれぞれの列に入れます(Microsoft 365とExcel 2024):
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Address | |||
| 2 | 12 Oak Road Leeds LS1 4AB | 12 Oak Road | Leeds | LS1 4AB |
Windows版の古いExcelでは、データ > 区切り位置 でできます。「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」を選び、「その他」にチェックを入れ、その欄をクリックしてCtrl+Jを押します。欄は空に見えますが、改行が入っています。
検索と置換で改行を削除する
数式を使わずに多くのセルを一度にきれいにするには、Windows版のExcelで:
- セルを選択してCtrl+Hを押します。
- 検索する文字列をクリックしてCtrl+Jを押します。何も表示されませんが、欄には改行が入っています。
- 置換後の文字列にスペースかカンマを入力します。
- すべて置換をクリックします。
Macでは上のSUBSTITUTEの数式を使い、その結果を 形式を選択して貼り付け > 値 で元のセルに貼り付けます。
その後もセルが高く見えるときは、行を選択して行の境界線をダブルクリックし、高さを合わせ直します。必要なければ「折り返して全体を表示する」もオフにします。
よくある質問
Excelのセルの中で改行するには?
セルに入力しながら、WindowsではAlt+Enter、MacではControl+Option+Returnを押します(Microsoft 365 for MacではOption+Returnも使えます)。Enterだけを押すと次のセルに移動します。
Excelの数式で改行を入れるには?
改行したい位置にCHAR(10)をつなぎます:=A2&CHAR(10)&B2、範囲なら=TEXTJOIN(CHAR(10),TRUE,A2:A4)です。セルで ホーム > 折り返して全体を表示する をオンにしないと、行がつながって表示されます。
CHAR(10)で改行されないのはなぜですか?
セルの「折り返して全体を表示する」がオンになっていないからです。セルを選択して ホーム > 折り返して全体を表示する をクリックすると、行の高さが広がってすべての行が表示されます。
Excelで改行を削除するには?
=SUBSTITUTE(A2,CHAR(10)," ")は改行をそれぞれスペースに置き換えます。Windows版のExcelで数式を使わないなら、「検索と置換」(Ctrl+H)を開き、「検索する文字列」でCtrl+Jを押し、「置換後の文字列」にスペースを入力して「すべて置換」をクリックします。