いきなり答える備忘録

Google Workspace・Microsoft 365・LibreOfficeなどに関するメモ

(Gスプレッドシート)FLATTEN関数で表を縦1列に並べ替える

 Googleスプレッドシートで、縦横に並んだデータを縦1列に並べ替えることができる関数についてです。
 なお2023年2月に、機能が強化されたTOCOL関数が導入されています。詳しくはこちらの記事で紹介しています。

  • FLATTEN関数を使って、複数行複数列に並んでいるデータを縦1列に並べ替えることができます。

手順

 B,C列に6つの値が並んでいます。
 そこでE2セルに「=FLATTEN(B2:C4)」と入力して、値を縦1列に並べ替えた結果を得ています。

 値が並ぶ順番についてですが、(元の表の)行が優先されます。
 列を優先させる場合は、後で見るようにTRANSPOSE関数を併用します。

 

 複数の引数を使って複数の表を指定して並べ替えることもできます。
 このとき、先に指定した表の値が先に並びます。
 また、空白セルが無視されないこともわかります。

 E2セル

=FLATTEN(B2:C4,E2:F3)

 

 列を優先して並べ替える場合は、TRANSPOSE関数を併用します。
 ここでは「=FLATTEN(TRANSPOSE(B2:C4))」として、B列の並びとC列の並びを保ったまま、縦に並べ替えています。

 かなりユニークな関数ですが、手間のかかる表操作の難度を大きく緩和することができます。
 例としては次の記事のようなものが挙げられます。

www.officeisyours.com

www.officeisyours.com

www.officeisyours.com