【スプレッドシート】Query関数のOrder byの使い方|昇順と降順に並び替え

Googleスプレッドシートで出力するデータを並び替える、Query関数のOrder byオプション。昇順や降順に並び替えることによって、名前順の名簿やスコア順のランキング表を作成できます。

この記事ではSpreadSheetのQUERY関数でソート機能の指定をする「Order By」の使い方を解説します。Order byを使いこなして、情報が整理されたGoogleスプレッドシートの表を作成しましょう。

昇順ソート(Order by 列 asc)

「ASC」は「ascending」の略で「上昇的な」を意味します。SpreadSheetのQUERY関数中の「Order by」を使った構文では、下記のように使います。

=QUERY(範囲, "Order by 列 asc")

D列で昇順にソートしたい場合の例

データ範囲:A〜D

=QUERY("A11:C17", "Order by D asc")

query関数の昇順にするorder byオプション

降順ソート(Order by 列 desc)

QUERY関数の「Order by」の使い方で、昇順の使い方は結構解説されているのですが、降順の解説がなかったので、こちらでご紹介します。

「desc」は「descending」の略で「下っていく」を意味します。SpreadSheetのQUERY関数中の「Order by」を使った構文では、下記のように使います。

=QUERY(範囲, "Order by 列 desc")

D列で降順にソートしたい場合の例

データ範囲:A〜D

=QUERY("A11:C17", "Order by D desc")

query関数の降順にするorder byオプション

order byを複数使う(Order by 列 asc, 列 asc)

昇順/降順に指定したい列が複数ある場合の、QUERY関数の使い方は次のようになります。

=QUERY(範囲, "Order by 列A asc, 列B asc")

注意したいのは、ソートされる順番は「列A→列B」ではなく、「列B→列A」という点です。

query関数でorder byを複数指定する方法

QUERY関数の使い方」まとめ
QUERY関数の使い方使用頻度使用例
オプションOrder byで昇順・降順を指定する★★QUERY("範囲" "order by 列 asc")
オプションgroup byで同じ値をグルーピングして集計する★★★QUERY(範囲,"select 列A, 集計関数(列B) group by 列A")
オプションpivotを使って、group byをさらにグルーピングして表示するQUERY(範囲, "select 列A, 集計関数(列A) where group by 列A pivot 列B")
オプションlabelを使って、出力される列のラベルを変更するQUERY(範囲, "label 列 '名前' ")
オプションformatを使って、出力される値の表示形式を変更するQUERY(範囲, "format 列 '表示形式' ")
オプションlimitを使って、表示する行数に制限をかけるQUERY(範囲, "limit 数")
オプションoffsetを使って表示データを上からスキップする方法QUERY(範囲, "offset 数")
オプションoptionsを使う
演算子containsを使って、指定文字列を含む行を表示する★★QUERY(範囲, "where 列 contains '検索文字列' "
演算子starts withを使って、行の先頭文字列に条件を指定するQUERY(範囲, "where 列 starts with '検索文字列' "
演算子ends withを使って、行の後尾文字列に条件を指定するQUERY(範囲, "where 列 ends with '検索文字列' "
演算子likeで複雑な条件を指定するQUERY(範囲,"where 列 like '検索文字列' ")
演算子★★★QUERY(範囲,"WHERE 列 matches '正規表現' ")
テクニックwhereの条件で空白を指定・除外する★★QUERY(範囲, "where 列 is not null")
テクニックQUERY関数にSUM関数を使う★★SUM(QUERY(範囲, "where 条件")
テクニックwhereの条件に日付を指定する★★★QUERY(範囲,"where 列 = date '"& TEXT(セル,"YYYY-MM-DD") &"'")
テクニックQUERY関数内でimportrange関数を使って、別シートを参照する★★★QUERY(importrange(シートID,参照範囲), "where 条件")
テクニック複数範囲・複数シートを結合する★★QUERY({IMPORTRANGE(シートURL,シート範囲);IMPORTRANGE(シートURL,シート範囲)},"WHERE 条件")
テクニックwhereの条件を複数指定する★★★QUERY("範囲", "where 条件A or 条件B and 条件C")
[su_note note_color="#00BFFF" text_color="#ffffff"] 人気の記事

icon-check-circle Google検索の変遷から見えてくる「Googleがキュレーション化する日」
[/su_note]

コメント

タイトルとURLをコピーしました