Googleスプレッドシートでデータを整理する際、QUERY関数で空白列を挟みたいことはありませんか?今回は、基本の方法から、応用テクニックまで、わかりやすく解説します。

  1. QUERY関数だけでは空白列は作れない
  2. 基本パターン|空白列を1列だけ挟む
  3. 複数の空白列を挟みたい場合
  4. 空白列を好きな場所に入れ替えたい場合
  5. 空白列を自由に挟む作成例
  6. 列数が多い場合のコツ
  7. 注意点|空白列も「カウントされる」
  8. まとめ

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"
)

✅ このように、空白列を何回でも挿入できるのがメリットです!

空白列を好きな場所に入れ替えたい場合

仮に、
「名前と金額の間にだけ空白列を挟みたい」
という場合は、列の並び順を工夫します。