いきなり答える備忘録

G Suite・Microsoft 365・LibreOfficeなどに関するメモと日々の実験

(Gスプレッドシート)QUERY関数を使った四半期別集計

 Googleスプレッドシートで、日付データに基づく四半期別の集計を行う例です。

  • QUERY関数の第2引数(SELECT句など)ではYEAR関数やMONTH関数などと同様にQUARTER関数という四半期を判定する関数を使うことができ、集計に利用できます。

手順

f:id:accs2014:20200129001648p:plain:right:w600

 B,C列に日付と数値の組からなるデータが並んでいます。
 ここでE2セルに次のように入力します。

=QUERY(B2:C12,"SELECT QUARTER(B)",1)

 いつもの例と違って見出し行まで参照していますのでご注意ください。
 さて、QUERY関数のSELECT句に続いてQUARTERという見慣れない関数がありますが、この式を実行すると……


f:id:accs2014:20200129001651p:plain:right:w550

 こうなります。
 QUARTER関数により、B列に記録された日付に応じて1から4(1~3月は1、4~6月は2、7~9月は3、10~12月は4)の値が返されます。
 この関数はQUERY関数内でのみ利用できるもので、どこかのセルに「=QUARTER(B3)」などと記してもエラーになります。

 

 これを利用して次のように四半期別集計を行うことができます。

f:id:accs2014:20200129001655p:plain:w750

 E3セルには次のように入力しています。

=QUERY(B2:C12,"SELECT YEAR(B),QUARTER(B),SUM(C) GROUP BY YEAR(B),QUARTER(B)",1)

 日付の年と四半期によりグループ化し、それぞれの売上の合計を求めています。
 SELECT句で文字列の結合を行うことができないので「2020Q1」といった表示ができないのが痛いですが、比較的手短に集計できますので覚えておいて損はないかと思います。