Googleスプレッドシートでデータを整理する際、QUERY関数で空白列を挟みたいことはありませんか?今回は、基本の方法から、応用テクニックまで、わかりやすく解説します。
- QUERY関数だけでは空白列は作れない
- 基本パターン|空白列を1列だけ挟む
- 複数の空白列を挟みたい場合
- 空白列を好きな場所に入れ替えたい場合
- 空白列を自由に挟む作成例
- 列数が多い場合のコツ
- 注意点|空白列も「カウントされる」
- まとめ
QUERY関数だけでは空白列は作れない
まず、知っておきたい基本知識として、
QUERY関数だけでは空白列(ダミー列)を直接SELECTできない仕様になっています。
そのため、次のような工夫が必要になります。
{}
波括弧で列をまとめるARRAYFORMULA(REPT("", ROW()))
でダミー列(空白列)を作る
この組み合わせがカギになります。
基本パターン|空白列を1列だけ挟む
例えば、データが
- A列:ID
- B列:名前
- C列:金額
という構成だった場合、
「IDと名前の間に空白列を挟みたい」ときは、こう書きます。
=QUERY({
A2:A,
ARRAYFORMULA(REPT("", ROW(A2:A))),
B2:B,
C2:C
},
"SELECT Col1, Col2, Col3, Col4 WHERE Col1 IS NOT NULL"
)
✅ ポイント
{}
で列を横に並べることで仮想的な1つの表を作る- 空白列は
ARRAYFORMULA(REPT("", ROW()))
で作成
複数の空白列を挟みたい場合
空白列を2列連続で入れたい場合は、空白列を2回書けばOKです!
=QUERY({
A2:A,
ARRAYFORMULA(REPT("", ROW(A2:A))),
ARRAYFORMULA(REPT("", ROW(A2:A))),
B2:B,
C2:C
},
"SELECT Col1, Col2, Col3, Col4, Col5, Col6 WHERE Col1 IS NOT NULL"
)
✅ このように、空白列を何回でも挿入できるのがメリットです!
空白列を好きな場所に入れ替えたい場合
仮に、
「名前と金額の間にだけ空白列を挟みたい」
という場合は、列の並び順を工夫します。