はじめに
QUERY関数の条件を可変にしたいときはセル参照を使います。
画像では条件の「晴」という文字列をQUERY関数に直接入力していますが、
これをD2セル参照に変更します。
セル参照方法
参照したいセルをダブルクォーテーションと&で囲みます。
"&D2&"
さらに、D2セルは文字列なので、QUERY関数に組み込むときは上記をさらにシングルクォーテーションで囲みます。
'"&D2&"'
数式内の「晴」を上記に置き換えます。
=QUERY(A1:C,"select A, B, C where B = '"&D2&"' ",1)
完成です。
E1セルに入力し、D2セルの条件に「雨」と入力すると、
右側に天気が雨のデータのみ抽出されました。
なぜ"&&"で囲むか
&
""(ダブルクォーテーション)
QUERY(データ, クエリ, [見出し])のクエリ部分は""で囲うルールなので、
クエリ以外の数式を組み込みたいときは、
"ここからここまで"はクエリですと指定してあげる必要があります。
その後、クエリとクエリ以外の数式を「&」で結合します。
QUERY(A1:C,"select A, B, C where B = '晴' ",1)
↓
QUERY(A1:C,"select A, B, C where B = '"&D2&"' ",1)
おわりに
セル参照するには「"&セル&"」で囲めばいいというのは理解していましたが、
実際にQUERY関数内にくみこむときに、ダブルクォーテーションが多くなったり、少なくなったりしてエラーになることが多かったので、自分で間違わないように記事にしました。
この方法を使用すると、QUERY関数内にIF文などの数式を入れることも可能になるので、それも自分用にまとめてアップしようと思っています。