スクリーンショット_2019-10-18_13

【メモ】Google SpreadsheetでSQLが書ける?Query関数が便利な件。

※この記事は、SQLを書いたことある方向けとなっています。


【追記・注意!】最近、関数が動かなくなったと思ったら、クエリ部分(SELECTから始まる部分)を "" で囲って上げないと行けなかったので、もしできなかったら "" をつけてあげて見てください。


Google Spreadsheetで分析や集計処理をする際に、一時的に処理すればいいものであれば、コピペ&Sortや色々頑張って使えばいいのですが、

色々なフィルターの設定をしたり色々めんどくさいですよね。。

QUERY関数とは、Google SpreadsheetでSQLのような処理ができる関数です。(※正確には、Google Visualization API のクエリ言語を使います。)

QUERY関数とは?

QUERY関数とは、Google Spreadsheetで"ほぼ"SQLでの処理ができる関数です。

具体的にどう書くのか?

具体的にどんなことができるかというと、以下のような関数を書くことができます。

=query(A1:K500 ,select * where B is not null order by A asc)

!!!  select 〇〇 from △△になっていないぞ!と思うかもしれませんが、QUERY関数では、最初にデータ範囲(A1:K500)を指定しています!


これだけ書けば、SQLを学んだ事がある人ならどんな事ができるかはイメージができるかと思いますので、ここらへん読んで頂ければと思います。

SQLとの違う部分について

色々わかったし、JOINしまくって分析するか!と思った方もいると思いますが、2シートにわたる データをつなげる場合には、こんな感じの関数を書けば一応繋げられます。

=query({'データA'!A1:K500;'データB'!A1:K500} 
,select * where B is not null order by A asc)

ちなみに、「;」だと縦、「,」だと横にデータが繋がります。


しかし、Inner joinやLeft joinなどをがっつり使いたい場合には、QUERY関数ではできないようなので、Visualization APIなどを使ってJOINするといいのではないでしょうか。(コード書かないといけないかもしれませんが、、)


スプレッドシートの集計がだるいと思っている方は活用してみて下さい。


Googleスプレッドシート関連の相談をはじめました!


月150円でお得情報やFinTech、そのほか最新技術情報などを共有中です!!

ぜひ、入ってみて下さい!!


この記事が気に入ったらサポートをしてみませんか?