Menu

エクセルでセル内改行する方法: Alt+EnterとCHAR(10)

セルに入力しながらAlt+Enter(MacではControl+Option+Return)を押すと、セルの中で改行できます。数式ではCHAR(10)が改行で、=A2&CHAR(10)&B2はB2を2行目に置き、「折り返して全体を表示する」をオンにすると表示されます。

このページのシートはすべて実際に動きます。数値や数式を変えると再計算されます。

セルの中で改行するには、入力中にAlt+Enterを押します。MacではControl+Option+Returnを押します。Microsoft 365 for MacではOption+Returnも使えます。数式では改行はCHAR(10)で、=A2&CHAR(10)&B2はB2の文字列をA2の文字列の下の2行目に置きます。

数式で改行を入れる
C2
ABC
1StreetCityAddress label
212 Oak RoadLeeds12 Oak Road Leeds
34 Mill LaneYork4 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でほかの文字と同じように探せます:

改行の位置を探す
B2
ABCD
1TextLengthBreak atFirst line
2Ana Silva94Ana
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

Ana、改行、Silvaで9文字になり、改行は4文字目です。D2はその前をすべて取り出します。ここでA2を数式で作っているのは、改行の位置を見えるようにするためだけです。Alt+Enterを押して入力したセルも同じように動きます。

名前の下に役職
C2
ABC
1NameTitleBadge
2Ana SilvaManager
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

やってみよう: C2で、A2の名前とB2の役職を1つのセルにまとめ、役職を2行目にしてください。

範囲を改行でつなげる

リスト全体を1つのセルに縦に並べるには、TEXTJOINの区切り文字にCHAR(10)を使います:

1行に1項目
C2
ABC
1ItemList
2MilkMilk Bread Eggs
3Bread
4Eggs
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

TEXTJOINがないExcel 2016以前では、&でセルをつなぎます:=A2&CHAR(10)&A3&CHAR(10)&A4。

改行を削除する

メール、Webフォーム、ほかのプログラムからコピーしたデータには、よく改行が含まれています。SUBSTITUTEで改行をそれぞれスペースかカンマに置き換えます:

改行をスペースやカンマに変える
B2
ABCD
1ImportedSpacesCommasCLEAN
2Milk Bread EggsMilk Bread EggsMilk, Bread, EggsMilkBreadEggs
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

D2のCLEANも改行を削除しますが、その場所に何も入れないので、単語がくっついてMilkBreadEggsになります。Windowsのファイルから来た文字列には、改行の前に復帰文字CHAR(13)が付いていることがあります。両方を取り除くには=SUBSTITUTE(SUBSTITUTE(A2,CHAR(13),""),CHAR(10)," ")を使います。

カンマで区切って1行にする
B2
AB
1ImportedOne line
2Ana Ben Chen
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

やってみよう: A2の名前は別々の行にあります。B2で、改行をそれぞれカンマとスペースに置き換えて、1行で返してください。

改行でセルを分割する

=TEXTSPLIT(A2,CHAR(10))は各行をそれぞれの列に入れます(Microsoft 365とExcel 2024):

1行ごとに1列
B2
ABCD
1Address
212 Oak Road Leeds LS1 4AB12 Oak RoadLeedsLS1 4AB
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

Windows版の古いExcelでは、データ > 区切り位置 でできます。「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」を選び、「その他」にチェックを入れ、その欄をクリックしてCtrl+Jを押します。欄は空に見えますが、改行が入っています。

検索と置換で改行を削除する

数式を使わずに多くのセルを一度にきれいにするには、Windows版のExcelで:

  1. セルを選択してCtrl+Hを押します。
  2. 検索する文字列をクリックしてCtrl+Jを押します。何も表示されませんが、欄には改行が入っています。
  3. 置換後の文字列にスペースかカンマを入力します。
  4. すべて置換をクリックします。

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を押し、「置換後の文字列」にスペースを入力して「すべて置換」をクリックします。

Coddyのプログラミング言語のイラスト

Coddyでコードを学ぼう

始める