見出し画像

集計関数の列でwhere句[QUERY関数]

QUERY関数に於いて、sumなどの集計関数を用いた列でwhere句を用いようとしたところエラーが返ってきてしまいました。
調べたところ、ネストすることで回避できるとのことです。
備忘録として記事にまとめます。

以下のスプレッドシートを例とします。
列A-Eに売上データがあり、それをQUERY関数を用いて列G-Iにまとめます。
QUERY関数式はこちら。

=QUERY(A:E,"select B,sum(D),sum(E) where B is not null group by B")

これを基に、
「売上額合計が30,000円以上の商品のみ表示したい」
とします。

以下の式を書いたところ、エラーが返ってきました。

=QUERY(A:E,"select B,sum(D),sum(E) where B is not null and sum(E) > "&I1&" group by B")

以下のようにネストすると実現できました。
select句で「*(アスタリスク)」を用いすべてを表示させ、
where句での列指定はアルファベットではなく「Col」と数字を用います。

=QUERY(QUERY(A:E,"select B,sum(D),sum(E) where B is not null group by B"),"select * where Col3 > "&I1&"")

いいなと思ったら応援しよう!