URLをコピーしました!
スキルアップを始める!

【QUERY関数】列を抽出して昇順・降順に並び替える(スプレッドシート)

Googleスプレッドシート
\スプレッドシートのスキルアップはこちら!/ スプレッドシート

何度も登場しているQUERY 関数ですが、Google スプレッドシートでは、QUERY 関数を使用することで、特定の列を抽出したり、抽出したデータを昇順または降順に並び替えることもできます。

ORDER BY 句とは?

QUERY 関数は SQL のような言語を使用してデータを検索および操作するため、結果を並べ替えるために ORDER BY 句を使用します。

以下は、名前が書かれている列を昇順に並べ替えるための例です。

=QUERY(A1:Z, "SELECT A ORDER BY A")

この例では、A1からZまでのセルから、A列を取得し昇順に並べ替えています。

もし、降順に並べ替えたい場合は、ORDER BY句の後に DESC を追加すればOKです

=QUERY(A1:Z, "SELECT A ORDER BY A DESC")

複数の列を並び替える

複数の列を並び替えたい場合は、ORDER BY句に複数の列名を指定することができます。例えば、年齢が書かれている列を基準に、名前が書かれている列で昇順に並べ替えるためには、以下のように書きます。

=QUERY(A1:Z, "SELECT A, B ORDER BY B, A")

この例では、A列とB列を取得し、B列で昇順に並べ替え、B列で同じ場合はA列で昇順に並べ替えています

列を抽出して並び替える

QUERY関数では、複雑なパターンにも対応できます。例えばimportrange関数と組み合わせた下記のような複雑な関数も作れます。

[rml_read_more]

=query(importrange("1_k7O2SRTBdcF8m_MgEFTkVo61CTDKy4Dsn8gCKRHDq8","flower!A1:I1000"),"select Col1,Col5,Col7,Col8,Col9 Where Col5 >=DATE '"&A1&"' and Col5 <=DATE '"&B1&"' order by Col9 asc")

importrange関数を使う時は権限を付与する必要がありますので、アクセスを許可を押します。

下記のような表で実行すると、A1からB1までの期間内で数量の降順でデータが抽出されて並び替えられました!

まとめ

QUERY関数は、複雑な検索や集計をする際に非常に強力な関数です。詳しく知りたい場合は、Google スプレッドシートのヘルプや、QUERY 関数のドキュメントを参照することをお勧めします。

会員登録するとご利用できます。
Kindle Unlimited 会員は無料で購読できます
購読はこちら
Kindle Unlimited 会員は無料で購読できます
購読はこちら