Googleスプレッドシートでセル内の改行を基準にデータを分割する方法|SPLIT関数を活用

Googleスプレッドシートで、セル内に改行(\n
)を含むデータを、改行ごとに分割したいと思うことはありませんか?
例えば、以下のような場合
- 複数の項目が1つのセルにまとまっていて見づらい
- 改行ごとに別のセルに分けて整理したい
- 手作業でコピーペーストするのは大変
スプレッドシートには、「テキストを列に分割」 という機能がありますが、改行(\n
)では分割ができません。
そこで、SPLIT関数を使い、セル内の改行を基準にデータを簡単に分割する方法をご紹介します。

完成イメージ

- SPLIT関数を使えば、改行を基準にデータを分割できる
=SPLIT(対象のセル, CHAR(10))
の数式で横方向に分割(列方向)
SPLIT関数でセル内の改行を分割
今回使用するSPLIT関数 は、指定した区切り文字(カンマ、スペース、改行など)でセルの内容を分割し、横方向(列方向) に展開する関数です。
SPLIT関数の基本構文
=SPLIT(対象のセル, 区切り文字)
対象のセル
→ 分割したいデータが含まれるセル区切り文字
→ どの文字で分割するか(カンマや改行など)
改行を基準に分割するには、CHAR(10)
を指定します。
(CHAR(10)
は改行を表します。)
(参考)他の区切り文字で分割
使いたい区切り文字 | 関数の例 |
---|---|
カンマ(, ) | =SPLIT(対象のセル, ",") |
スペース( ) | =SPLIT(対象のセル, " ") |
セミコロン(; ) | =SPLIT(対象のセル, ";") |
SPLIT関数は、改行以外の区切り文字でも分割が可能です。
横方向に分割する数式
改行でセルを分割する数式(分割したいセルがB2の場合)
=SPLIT(B2, CHAR(10))
CHAR(10)
は改行(\n
)を表します。- セルB2のデータを改行ごとに分割し、横方向(列方向)に展開します。

今回の例では、対象のセルをB2とします。
=SPLIT(B2, CHAR(10))
=SPLIT(対象のセル, 区切り文字)
数式を入力してB2セルのデータを改行ごとに分割します。

対象のセルに3行の改行がある場合、3列に分割して表示されます。
縦方向に分割する数式
通常、SPLIT関数は横方向(列方向)に展開されますが、TRANSPOSE
を組み合わせると縦方向(行方向) に変換できます。
改行でセルを縦方向に分割
=TRANSPOSE(SPLIT(B2, CHAR(10)))
TRANSPOSE
で行と列を入れ替えます。
縦方向の分割結果

縦方向に分割の問題点
・複数のセルに適用させるのが面倒

例えば、ノートPCのデータが3行に展開されたとします。
次のスマートフォンの詳細を分割するには、ノートPCの3行分の下に別途数式を入力する必要があります。
データごとに手動で数式を追加するのは面倒で、大量のデータには適していません。
そのため、縦方向に分割する場合はGoogle Apps Script (GAS) を使った方法が便利です。
まとめ
SPLIT関数を使えば、改行を基準にセルを簡単に分割できます。
=SPLIT(対象のセル, CHAR(10))
を使うことで横方向への分割が完了します。
TRANSPOSE
を組み合わせて縦方向への分割もできますが、データが増えると手動で数式を入力する手間が増えます。
そのため、次回の記事ではGASを使って「選択範囲のデータを改行ごとに縦方向にセル分割する方法」 をご紹介予定です。

弊社では、Google Apps Script(GAS)を活用した業務効率化のサポートを提供しております。
GASのカスタマイズやエラー対応にお困りの際は、ぜひお気軽にご相談ください。
また、ITツールの導入支援やIT導入補助金の申請サポートも行っております。
貴方の業務改善を全力でサポートいたします。
コメント