スプレッドシートQuery関数を使ってみよう ⑦並び替えの基本 ORDER BY句

クエリイメージ スプレッドシート
この記事は約3分で読めます。
Advertisements

読んで欲しい人

  • SQLに興味があるが、一から環境やデータ整備するのがめんどくさい人
  • vlookupとかでデータ抽出しているが、限界を感じている人
  • データ分析したい人
  • ノンプログラマーでもクエリぐらいは使いたいって人
  • クエリって美味しいの?って人(クエリは美味しいですよって意味も込めて)

Query関数(クエリ関数)シリーズ予定 (あくまで予定)

  1. 概要と目的
  2. クエリ関数の構成
  3. 基本の基本 SELECT句(全部取得、特定カラムだけ取得)
  4. 抽出の基本 WHERE句を使ってみる(数値一致、大小、日付一致、大小etc)
  5. GROUP BY句を使ってみる
  6. 他のシートからデータを持ってきてみよう〜 ImportRange関数との組み合わせ〜
  7. 並び替えの基本 ORDER BY句←今回
  8. SQLやるなら必須 サブクエリをやってみる
  9. データに改行が入ってるぞ 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の説明でした。ソートするだけなので、正直個人的にはあまり使わないので、正直そんなにネタもありません。

ある程度シンプルに使えるクエリ要素なので、練習に使うのもいいかもしれません。

さて、次はサブクエリですが、これは個人的にはよく使うので、お楽しみにしてください。

連載目次: spreadsheet_query関数を使いこなそう

SQL勉強もかねて、spreadsheetのquery関数の使い方に慣れていきます。簡単なselect文の使い方から、SQLとの違いも含めて勉強していきます。

  1. スプレッドシートQuery関数を使ってみよう ①概要と目的
  2. スプレッドシートQuery関数を使ってみよう ②クエリ関数の構成
  3. スプレッドシートQuery関数を使ってみよう ③SELECT句
  4. スプレッドシートQuery関数を使ってみよう ④WHERET句
  5. スプレッドシートQuery関数を使ってみよう ⑤GROUP BYを使ってみる
  6. スプレッドシートQuery関数を使ってみよう ⑥他のシートからデータを持ってきてみよう〜 ImportRange関数との組み合わせ〜
  7. スプレッドシートQuery関数を使ってみよう ⑦並び替えの基本 ORDER BY句
  8. スプレッドシートQuery関数を使ってみよう ⑧SQLやるなら必須 Query関数でもサブクエリをやってみる
  9. スプレッドシートQuery関数を使ってみよう ⑨データに改行が入ってるぞ etc クエリ関数エラー対策

コメント