Googleスプレッドシートで、日付データに基づき月別の集計を行う例です。
- QUERY関数の第2引数(SELECT句など)ではYEAR関数とMONTH関数により日付の年と月を算出できますので、対象データ中に「月」の列を用意しなくとも月別の集計を行うことができます。
- ただしここでのMONTHは通常のワークシート関数のMONTH関数とは異なり、1月なら0、2月なら1……12月なら11を返します。
手順
早速ですが結果です。
B,C列に日付と数値(売上)の組からなるデータが並んでいます。これに対しE2セルに1つの式を入力することで月別に売上を集計しています。
式は次のようなものです。
=QUERY(B2:C10,"SELECT YEAR(B),MONTH(B)+1,SUM(C) GROUP BY YEAR(B),MONTH(B)",1)
YEAR関数とMONTH関数を使って日付の年と月を求めてそれらによりグループ化し、それぞれの月の売上の合計を求めています。
ただしここで用いるMONTH関数は通常のMONTH関数と異なり0~11(1月~12月に対応)を返しますので、表示の際には1を足す必要があります。よってSELECT句では「MONTH(B)+1」としています。GROUP BYの後のMONTHは単にグループ分けをしているだけで表示には影響しないので1を足す必要はありません。