【スプレッドシート】QUERY関数のORDER BY句で並べ替え!複数条件・LIMIT・OFFSETも解説

GoogleスプレッドシートのQUERY関数を使うと、大量のデータから必要な情報だけを抽出したり、並べ替えたり、集計したりと、さまざまなデータ操作を行うことができます。この記事ではデータの並べ替えができる「ORDER BY句」について解説しているので、ぜひ参考にしてみてください。

スポンサーリンク

ORDER BY句の基本の使い方

【スプレッドシート】QUERY関数のORDER BY句で並べ替え!複数条件・LIMIT・OFFSETも解説

ORDER BY句は、指定した列の値を基準として、行全体を昇順または降順に並べ替えます。

例:B列(数値や日付など)の値が小さい順(昇順)に全体を並べ替え
=QUERY(A1:B5, "SELECT * ORDER BY B ASC")

💡 ポイント:

  • 昇順(小さい順):ASC
  • 降順(大きい順):DESC

QUERY関数の引数:(データ, クエリ, [見出し])


【数式の解説】

  1. ORDER BY句(並び替える列と順序):B列の昇順で、データ範囲を並び替えます。
  2. SELECT句(抽出する列):並び替えた範囲から、すべての列(*)を抽出します。

📖 SELECT句の詳しい解説は「SELECT句の使い方!」の記事をご覧ください。


⚠️ 日本語(ひらがな・漢字)の並び替えに関する注意点:

漢字は「文字コード順」で並び替えられるため、意図した順番にならない場合があります。五十音順で並べ替えたい場合は「フリガナ列」を作成し、その列をORDER BY句で指定します。フリガナの生成方法は「あいうえお順に並び替える方法」の記事をご覧ください。

スポンサーリンク

複数条件で並べ替える方法

複数列を基準に並べ替える場合は、列名と順序をカンマで区切りながら指定します。

例:まずB列(価格)の昇順で並べ替え、同じ価格ではさらにA列(商品名)の昇順で並べ替え
=QUERY(A1:B6, "SELECT * ORDER BY B ASC, A ASC")

💡 ポイント:

左から順に並べ替えの優先度が高くなります。最初に指定した列の値が同じ場合に、2番目に指定した列で並べ替えが行われます。

スポンサーリンク

空白セルを除外して並べ替える方法

【スプレッドシート】QUERY関数のORDER BY句で並べ替え!複数条件・LIMIT・OFFSETも解説

空白を除外したい場合は、ORDER BY句の前にWHERE句でIS NOT NULLを追加します。

例:A列が空白でないデータのみを対象にし、B列の昇順で並べ替え
=QUERY(A1:B, "SELECT * WHERE A IS NOT NULL ORDER BY B ASC")


📖 WHERE句の詳しい解説は「WHERE句で条件を指定する方法」の記事をご覧ください。

スポンサーリンク

並べ替えたデータを絞り込む(LIMIT句 / OFFSET句)

上位N件だけ抽出する(LIMIT句)

【スプレッドシート】QUERY関数のORDER BY句で並べ替え!複数条件・LIMIT・OFFSETも解説

LIMIT句は、抽出結果の行数を制限します。ORDER BY句と組み合わせることで、「売上トップ3」などのランキングを簡単に作ることができます。

例:B列(価格など)が高い順(降順)に並べ替え、上位3件のみを抽出
=QUERY(A1:B5, "SELECT * ORDER BY B DESC LIMIT 3")

先頭のN件をスキップする(OFFSET句)

【スプレッドシート】QUERY関数のORDER BY句で並べ替え!複数条件・LIMIT・OFFSETも解説

OFFSET句は、抽出結果の先頭から指定した行数をスキップして表示します。

例:B列が高い順(降順)に並べ替え、トップ2件をスキップして3件目以降を表示
=QUERY(A1:B5, "SELECT * ORDER BY B DESC OFFSET 2")


📖 中間部分だけを表示する(LIMIT + OFFSET):

LIMIT句とOFFSET句を組み合わせることで、「2位〜4位までを表示する」といった中間部分の抽出が可能です。

例:B列が高い順(降順)に並べ替え、1位をスキップして3件(2位〜4位)を表示
=QUERY(A1:B5, "SELECT * ORDER BY B DESC LIMIT 3 OFFSET 1", 1)

スポンサーリンク

QUERY関数のその他のクエリ

今回はデータの並べ替え抽出に便利なORDER BY句LIMIT句OFFSET句の3つのクエリについてご紹介しました。QUERY関数で使えるクエリには、他にも以下のようなものがあります。

  • SELECT句:特定の列を指定した順序で抽出します。(詳細記事はこちら
  • WHERE句:指定した条件を満たすデータのみを抽出します。(詳細記事はこちら
  • GROUP BY句:指定した列の同じ要素ごとにデータを集計します。(詳細記事はこちら
  • PIVOT句:指定した列の値を横方向に展開し、クロス集計表を作成します。(詳細記事はこちら
  • ORDER BY句:データを特定の列の値で並べ替えます。(この記事で解説)
  • LIMIT句:抽出する行数を指定した数に制限します。(この記事で解説)
  • OFFSET句:指定した数の最初の行をスキップします。(この記事で解説)
  • LABEL句:抽出した列のヘッダー名を任意の名前に変更します。(詳細記事はこちら
  • FORMAT句:特定の列の日付や数値などの表示形式を設定します。(詳細記事はこちら
  • OPTIONS句:ヘッダーの行数や特定の書式設定を適用しないなどの追加オプションを設定します。
タイトルとURLをコピーしました