スプレッドシートのクエリでwhereの日付ソートする方法
最近、Googleスプレッドシートの超絶便利なQUERY関数を使って、where句の日付ソートを作ってみたので、ソースコードのサンプルと一緒に紹介したいと思います。
QUERY関数のwhere句で日付ソートする方法
ソースコードの紹介
さっさとコピペして使いたい人が多いと思いますので、まずはソースコードから紹介します。
=QUERY(
'データシート'!$A:$C,
"select A,B,C
where A<= DATE '"&text($E$1,"YYYY-MM-DD")&"'
and A>= DATE '"&text($E$2,"YYYY-MM-DD")&"'
")
解説すると、
・シートは2つ存在。
⇒「データシート」というシートと、上記クエリが埋め込まれているシートの2点
・「データシート」のA~C列がクエリのデータ群
・クエリの埋め込まれたシートのセルE1,E2には「2023-01-08」といった形式の日付データ
・クエリ結果はセルE2~E1の日付範囲でソートされて「データシート」のA~Cが出力される
って感じです。
並び替え/limitかけてソート
さらに、desc順に並び変えたり、特定数だけソートしたい場合はlimitで上限をかけたりもできます。
=QUERY(
'シート名'!$A:$C,
"select A,B,C
where A<= DATE '"&text($E$1,"YYYY-MM-DD")&"'
and A>= DATE '"&text($E$2,"YYYY-MM-DD")&"'
order by desc
limit "&$B$6&"
")
スプシのクエリは、データの形式というか、記述の方法さえわかってしまえばカンタンなもんです。