スプレッドシートの 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を
業務自動化ツールに変えるテクニックを発信しています。

