読んで欲しい人
- SQLに興味があるが、一から環境やデータ整備するのがめんどくさい人
- vlookupとかでデータ抽出しているが、限界を感じている人
- データ分析したい人
- ノンプログラマーでもクエリぐらいは使いたいって人
- クエリって美味しいの?って人(クエリは美味しいですよって意味も込めて)
Query関数(クエリ関数)シリーズ予定 (あくまで予定)
- 概要と目的
- クエリ関数の構成
- 基本の基本 SELECT句(全部取得、特定カラムだけ取得)
- 抽出の基本 WHERE句を使ってみる(数値一致、大小、日付一致、大小etc)
- GROUP BY句を使ってみる
- 他のシートからデータを持ってきてみよう〜 ImportRange関数との組み合わせ〜
- 並び替えの基本 ORDER BY句←今回
- SQLやるなら必須 サブクエリをやってみる
- データに改行が入ってるぞ likeで対応できない時はcontains/starts withが助けてくれる
Query関数:Order Byの基本
さてOrder byは基本ソートする機能です。基本的なクエリ記法は以下のようになります。
=query(データ範囲,"select * order by E desc")
上の例をベースに説明させていただきます。
黄色アンダーライン部分:”order by” + ”カラム”で、ソートする対象カラムを選択する
赤アンダーライン部分: desc(降順)、asc(昇順)でソート
ascでソートした場合の留意事項
昇順で以下のデータを以下のような関数でソートしたとしましょう。
=query(A1:H8,"select * order by F asc")

面白いことにデータにブランクが入ってきてしまいます。

なぜかというと、元々のデータ範囲内にブランクデータが含まれているので、ブランク部分が最小の値として上部にに出てきてしまいます。これがデータ範囲がカラム全体指定とかになっていると。。。
たぶん、全く表示範囲内にデータが現れてこないこともあるかも。ということで、その対応方法を説明します。
is not null を利用してブランク(欠損値)を除外する
さて、対応方法です。以前WHERE句で説明した、NULLを利用します。過去記事は以下をご覧ください。
実際は以下みたいにすると綺麗にブランクが削除できます。
=query(A1:H8,"select * where F is not null order by F asc")
まとめ
ORDER BYの説明でした。ソートするだけなので、正直個人的にはあまり使わないので、正直そんなにネタもありません。
ある程度シンプルに使えるクエリ要素なので、練習に使うのもいいかもしれません。
さて、次はサブクエリですが、これは個人的にはよく使うので、お楽しみにしてください。
【レクチャー関係紹介】
ストアカ
ストアカにおいて、私も1.5H程度で簡単にGASやQuery関数のとっかかりを解説する講座を実施しています。1Hくらいの講座と、30分くらいの相談時間(自由時間)を設けて、これからGASやQueryを始める人向けに実際のドキュメントや簡単なスプレッドシートでのGAS・Queryの使い方などを解説させていただきます。
個人的には普及活動の一環だと思って、他の業務のお客さんには申し訳ないものの、それなりにお求めやすく設定しています。必要に応じて別途継続サポートさせていただくことも可能です。
私の講座以外にもストアカには同じような金額帯でQuery講座が複数準備されていました。受講したことがないので、評価は出来ない立場にありますが、相性の良さそうな先生を探すのも手かもしれません。
MENTA
メンターを探すサイトも存在します。あまりGASやQuery関数を教えますってメンターはそこまで多くはないのが実情です。ノンプロエンジニア向けではなく、エンジニア向けor エンジニア志望者向けなので、Query関数はあまり対象にならないかもしれません。他方で純粋SQLを教えてほしいというリクエストであれば、多くのメンターが集まると思います。
ちなみに、私のレクチャーページも紹介しておきます。
【Query関数】 相談PLAN連載目次: spreadsheet_query関数を使いこなそう
SQL勉強もかねて、spreadsheetのquery関数の使い方に慣れていきます。簡単なselect文の使い方から、SQLとの違いも含めて勉強していきます。
- スプレッドシートQuery関数を使ってみよう ①概要と目的
- スプレッドシートQuery関数を使ってみよう ②クエリ関数の構成
- スプレッドシートQuery関数を使ってみよう ③SELECT句
- スプレッドシートQuery関数を使ってみよう ④WHERET句
- スプレッドシートQuery関数を使ってみよう ⑤GROUP BYを使ってみる
- スプレッドシートQuery関数を使ってみよう ⑥他のシートからデータを持ってきてみよう〜 ImportRange関数との組み合わせ〜
- スプレッドシートQuery関数を使ってみよう ⑦並び替えの基本 ORDER BY句
- スプレッドシートQuery関数を使ってみよう ⑧SQLやるなら必須 Query関数でもサブクエリをやってみる
- スプレッドシートQuery関数を使ってみよう ⑨データに改行が入ってるぞ etc クエリ関数エラー対策
- スプレッドシートQuery関数番外編 〜Query関数のエラー原因ランキング〜