
Excelで、セル内改行の位置で、文字列を別々のセルに分割して表示する方法です。この記事では、まずTEXTSPLIT関数を使った最新の方法を解説します。TEXTSPLIT関数が使えないExcelのバージョンの場合は、「コマンド操作で改行を分割する方法」をご参照ください。
改行で分割する(TEXTSPLIT関数)
関数を使うことで、元データを残したまま、新しいセルに文字列を分割する方法です。
TEXTSPLIT関数の基本

TEXTSPLIT関数は、指定したテキストを「区切り文字」の前後で分割し、別々のセルに表示します。
たとえば、A2セルのテキストを,の前後で分割したい場合、数式は次のようになります。
例:=TEXTSPLIT(A2,"-")
この「区切り文字」に、改行コードを表すCHAR(10)を指定することで、改行を区切り文字としてセル内の文字列を分割します。
TEXTSPLIT関数の引数:(テキスト, 列の区切り文字, [行の区切り文字], [空データを無視], [一致モード], [パディング])
横(列)に分割する

セル内改行を横方向に分割したい場合は、「列区切り文字」にCHAR(10)を指定します。
例:=TEXTSPLIT(A2,CHAR(10))
縦(行)に分割する

セル内改行を縦方向に分割したい場合は、「行の区切り文字」にCHAR(10)を指定します。
例:=TEXTSPLIT(A2,,CHAR(10))
この数式では、「列の区切り文字」を省略して「行の区切り文字」を指定するため、カンマを2つ連続で入力しています。
改行で分割する(コマンド操作)
元データ自体を、改行の位置で別々のセルに分割する方法です。

まず、改行を分割したい範囲を選択し、「データ」→「区切り位置」をクリックします。

ウィザードの画面が表示されたら、そのまま「次へ」をクリックします。

「区切り文字」の項目で、「その他」にチェックを入れ、隣の入力欄でCtrl + Jキーを押します。
点滅する小さな点(セル内改行を表す特殊な記号)が表示されたら、「完了」をクリックします。

これにより、選択したセル内の文字列が、改行を区切り位置として、別々のセルに分割されます。
縦(行)に分割したい場合
行列を入れ替えて貼り付ける方法
- 「区切り位置」コマンドで分割したデータをコピーします。
- 右クリックメニューから「形式を選択して貼り付け」を選び、「行列を入れ替える」にチェックを入れて貼り付けます。
TRANSPOSE関数を使う方法

- 結果を貼り付けたい縦方向のセル範囲全体(例:A2:A4)をあらかじめ選択します。
- そのまま、
=TRANSPOSE(C2:E2)のような数式を入力します。 - 数式を確定するときに、
Ctrl+Shift+Enterキーを押します。
Ctrl + J がうまくいかない場合

もし、Ctrl + J を使った分割がうまくいかない場合は、SUBSTITUTE関数と「区切り位置」コマンドを組み合わせます。
- 改行をカンマに置き換える
- SUBSTITUTE関数を使って、改行コード (
CHAR(10)) をカンマ (,) に置き換えます。 - 例:
=SUBSTITUTE(A2,CHAR(10),",")
- SUBSTITUTE関数を使って、改行コード (
- 数式を「値」として貼り付ける
- 数式が入力されたセルをコピーし、「値」として貼り付けます。
- 「区切り位置」で分割する
- 「データ」→「区切り位置」を開き、区切り文字にカンマを指定して完了します。
SUBSTITUTE関数の引数:(検索対象のテキスト, 検索文字列, 置換文字列, [出現回数])