スプレッドシートの QUERY関数 を使っていると、

  • 条件が増えてどんどん複雑になる
  • ANDを追加するたびに構文を修正
  • 途中で式が崩れる

こんな経験ありませんか?

そんなときに便利なのが
「where 1=1」テクニックです。

一見意味不明に見えるこの記述、
実は 条件追加をラクにするための土台 になります。


この記事でわかること

  • where 1=1 の意味
  • なぜ「常に真」なのか
  • 条件追加がラクになる理由
  • 実務でどう使うか

【結論】where 1=1 は「常に真」の条件

まず基本形です。

=QUERY(A1:D, "select * where 1=1")

この式、実は

1 = 1 → 常に真(true)

なので、すべてのデータをそのまま返すだけです。

一見すると意味がないように見えます。


なぜわざわざ where 1=1 を入れるの?

理由はシンプル。

あとから条件を足しやすくするため

です。

通常のQUERYでは、

=QUERY(A1:D, "select * where B > 100")

のように書きます。

ここに条件を追加する場合、

=QUERY(A1:D, "select * where B > 100 and C <> ''")

と書き換えます。

しかし最初から where 1=1 にしておけば、

=QUERY(A1:D, "select * where 1=1
and B > 100
and C <> ''
and D contains '完了'")

という形で、

ひたすら AND を追加するだけで済みます。


実務で強い理由

管理表ではよくあります。

  • 金額が100以上
  • 未入力は除外
  • ステータスが「完了」
  • 担当者が山田

条件が増えていくケース。

where 1=1 を入れておけば、

✔ 条件を増やすたびに構文をいじらなくていい
✔ コピペで条件を追加できる
✔ 修正ミスが減る

つまり、

条件が増える管理表ほど威力を発揮します。


SQL経験者には当たり前?

実はこの書き方はSQLでは定番テクニックです。

  • 動的に条件を組み立てるとき
  • プログラムでSQLを生成するとき

where 1=1 はよく使われます。

ただし、

スプレッドシートのQUERYで使う人は意外と少ない。

だからこそ、
知っているだけで一段上の管理ができます。


まとめ|条件が増えるなら最初に入れておく

  • where 1=1 は「常に真」
  • 実質フィルタなしと同じ
  • ANDを追加するだけで拡張できる
  • 管理表・抽出表に最適

次回は、QUERYを「抽出」から
分析ツールに進化させる方法を解説します。

この記事が役に立ったら
ブックマークしておいてください。

iDeeerでは、
スプレッドシート・Excelを
業務自動化ツールに変えるテクニックを発信しています。