クエリ関数(Query関数)の使い方 - GROUP BY & 集計関数Avg

この記事では、クエリ関数(Query関数)でGroup Byと集計関数Avgを使ってグループ毎に平均値を算出する方法を勉強します。

QUERY関数の基礎についてはこちらの記事をご覧ください。
クエリ関数内のAvgの使い方に関してはこちら

Group Byと集計関数Avgは以下の様に使います。
=QUERY(範囲, "SELECT 見出しの列, Avg(平均値を出したい列) Group By グループ化したい列 ",見出しの行数)

「平均値を出したい列」と「グループ化したい列」は通常同じ列になります。

以下の都市の人口データを例に見ていきます。表の中で、それぞれの都道府県の人口の平均値を算出しましょう。
都市の人口データ


まずは、範囲を指定しましょう。表の範囲A1 - C11を指定します。
=QUERY(A1:C11

範囲の指定


次にSELECTを用いて、見出しの列を指定します。今回は各都道府県の名前を表示させたいので、B列を指定します。
=QUERY(A1:C11, "SELECT B



次に、Avgを用いて、データの平均値を算出したい列を指定します。Avgの前には、コンマを書いて下さい。
人口の平均値を計算したいので、C列を指定します。
=QUERY(A1:C11, "SELECT B, Avg(C)

平均値を算出したい列を指定


そして、GROUP BYを用いて、どの列をグルーピングしたいかを指定します。各都道府県名をひとつのグループにしたいので、B列を指定します。
この際、自動で同一の文字列がグルーピングされます。
グルーピングしたい列を指定


最後に、見出しの行数を指定しましょう。見出しは1行なので、1と書きます。
=QUERY(A1:C11, "SELECT B, Avg(C) GROUP BY B",1)

見出しの行数を指定


すると、それぞれの都道府県の人口の平均値を算出されます。
結果



スプレッドシートをご覧になる場合はこちら