
スプレッドシートのTOCOL関数で複数列を1列にまとめる方法や、配列数式で飛び飛びの列を1列にまとめる方法をご紹介します。複数行を1行にまとめる関数についても解説しているので、ぜひ参考にしてみてください。
複数列を1列にまとめる関数

TOCOL関数は、指定した配列または範囲を1つの列に変換します。
例えば TOCOL(A2:B5) なら、範囲を行ごとに左から右にスキャンします。
TOCOL関数の構成要素:(配列または範囲, [無視], [列でスキャン])

2つ目の引数(無視)には、無視する値を指定できます。例えば TOCOL(A2:B5,3) なら、範囲からエラーと空白を除く値を1つの列で返します。
- 0(デフォルト):すべての値を保持します。
- 1:空白を無視します。
- 2:エラーを無視します。
- 3:空白とエラーを無視します。

3つ目の引数(列でスキャン)には、値を読み取る方向を指定できます。例えば TOCOL(A2:B5,3,TRUE) なら、範囲を列ごとに上から下にスキャンします。
- True: 範囲を列方向にスキャンします。
- False(デフォルト):範囲を行方向にスキャンします。
離れた複数列を1列にまとめる方法

配列を示す中括弧「{}」を使うと、離れた複数列を縦または横に並べられます。このとき、配列はすべて同じサイズでなければなりません。
例えば ={A2:A5;C2:C5} は、2つの範囲をそのまま縦に並べます。

空白を除いてまとめる場合、FILTER関数で範囲をフィルタ処理します。
例えば FILTER({A2:A5;C2:C5},{A2:A5;C2:C5}<>””) なら、2つの範囲から空白を除いた値を縦に並べます。
FILTER関数の構成要素:(範囲, 条件1, [条件2, …])
複数行を1行にまとめる関数

TOROW関数は、指定した配列または範囲を1つの行に変換します。
使い方はTOCOL関数と同じです。
TOCOL関数の構成要素:(配列または範囲, [無視], [列でスキャン])

離れた範囲を1行にまとめる場合、配列数式の区切り記号をカンマ(,)にします。
セミコロン(;)は縦方向に、カンマ(,)は横方向に並べます。