スプレッドシートのFLATTEN関数とは
FLATTEN関数は1つまたは複数の範囲から全ての値を取得して、単一の列に平坦化するGoogleスプレッドシートの配列関数です。この関数は異なる範囲やセルに散在するデータを1つの連続した列に整理する際に使用されます。
基本構文はFLATTEN(範囲1, [範囲2, ...])
となっており、最初の範囲は必須パラメータですが、2つ目以降の範囲は任意で追加できます。値の順序は引数、行、列の順番で処理され、入力の最初の行全体が追加された後に2番目の行が処理される行優先順序と呼ばれる方式で実行されます。
【PR】プログラミングや生成AIを無料で学べる「コードキャンプフリー」
FLATTEN関数の基本的な使用方法
最も基本的なFLATTEN関数の使用例は=FLATTEN(A1:B2)
のように単一の範囲を指定する形式です。この場合、A1からB2までの2行2列のデータが1つの列に縦に並び替えられ、A1、B1、A2、B2の順序で出力されます。
=FLATTEN(A1:B2)
複数の範囲や文字列を組み合わせる場合は=FLATTEN("top", A1:B2, "middle", B3:B4, "bottom")
のように記述します。この方式では文字列と範囲を交互に配置して、データの間に区切りとなる文字列を挿入できるため、データの構造化に役立ちます。
FLATTEN関数の実践的な応用例
FLATTEN関数をCONCAT演算子(&)とSPLIT関数と組み合わせることで、2つのリストの直積演算を実行できます。例えば=ArrayFormula(SPLIT(FLATTEN(A1:A3 & "|" & TRANSPOSE(B1:B2)), "|"))
では、A列とB列のデータを組み合わせた全ての組み合わせが生成されます。
=ArrayFormula(SPLIT(FLATTEN(A1:A3 & "|" & TRANSPOSE(B1:B2)), "|"))
空の値はスキップされずに結果に含まれるため、不要な空白セルを除去したい場合はFILTER関数と組み合わせて使用します。引数は範囲参照である必要がなく、文字列や数値を直接指定することも可能で、柔軟なデータ操作が実現できます。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
ITやプログラミングに関するコラム
- Canvaとは?使い方やアカウント登録などを初心者向けに解説
- git configで設定情報を確認・表示する方法
- 「Pythonはやめとけ」と言われる理由と学習するメリット
- Ubuntuのversionを確認する方法
- Geminiで画像を生成する方法|ChatGPTとの比較結果も紹介