かもメモ

自分の落ちた落とし穴に何度も落ちる人のメモ帳

Google Spreadsheet query でヘッダーを出力しない方法

複雑な条件を query で取得して集計した結果だけを表示したい

Spreadsheet の query はデフォルトで header が出力される

Spreadsheet QUERY sample

上記のようなデータがあり price >= 2000 のレコード数をだそうを query で下記のような関数を書くと count というヘッダーが表示されてしまう

= QUERY(A2:C10, "SELECT count(A) WHERE ${条件}", FALSE)

QUERY(データ, クエリ, [見出し])
見出し - [省略可] - データの上部にある見出し行の数です。省略した場合や -1 と指定した場合は、データの内容に基づいて推測されます。
cf. QUERY - Google ドキュメント エディタ ヘルプ

⚠️ query の第三引数を false にしたら見出しが出力されないわけではない

明示的に LABEL を空文字にすればヘッダーが表示されなくなる

明示的に LABEL ${countカラム名} '' を quey の SQL に追加すればヘッダーが表示されなくなる

= QUERY(A2:C10, "SELECT count(A) WHERE ${条件} LABEL count(A) ''", FALSE)

Spreadsheet QUERY Sample

🐞 count 数が 0 のときエラーになる

ヘッダーを非表示にしたとき、count した結果が 0 件のとき下記のようなエラーが表示される

Spreadsheet QUERY sample #N/A クエリが空の出力で完了しました。

明示的に IFERROR で囲って 0 件の表示をすればOK

= IFERROR(QUERY(A2:C10, "SELECT count(A) WHERE ${条件} LABEL count(A) ''", FALSE), 0)

Spreadsheet QUERY sample

Spreadsheet の QUERY で使える SQL っぽいのクセが強かった


[参考]