みなさんこんにちは!
もり(@moripro3)です。
GoogleスプレッドシートQUERY関数の使い方をシリーズでお届けしています!
前回の記事では、group by句とavg関数を使用して、列の値の平均値を算出する方法を紹介しました。
QUERY関数の第2引数[クエリ]には5種類の集計関数が使用でき、シリーズ直近3回の記事でcount関数, sum関数, avg関数を紹介しました。
この記事では残りの2つ、max関数とmin関数を紹介します。
関数名 | 説明 |
---|---|
count() | 列の要素数を返す |
sum() | 列の値の合計値を返す |
avg() | 列の値の平均値を返す |
max() | 列の最大値を返す |
min() | 列の最小値を返す |
それでは備品購入リストのサンプルを用いて、見ていきましょう!
列の最大値を求めるmax関数
max関数は、指定列の最大値を求める関数です。
まずは最も簡単な使い方です。D列「単価」の最大値を求めます。
=query(A:E,"select max(D)",1)
「単価」の列で最も大きい値20000を取得できました。
列の最小値を求めるmin関数
min関数は、指定列の最小値を求める関数です。
D列「単価」の最小値を求めます。200が取得できます。
=query(A:E,"select min(D)",1)
最大値・最小値を合わせて求める
max関数とmin関数をカンマ区切りで指定すると、1行でまとめて2つの値を取得できます。
=query(A:E,"select min(D),max(D)",1)
すべてのデータ型に使用できる
max関数とmin関数は、数値以外にも、日付・文字列などすべてのデータ型に使用できます。
- 日付 → 日付の小さい(早い)順に比較
- 文字列 → アルファベット順に比較(大文字と小文字は区別される)
日付データであるA列「購入日」を指定すると、下記の通り日付を取得できます。
- min関数(最小値) = 最も早い 4月27日
- max関数(最大値) = 最も遅い 5月6日
=query(A:E,"select min(A),max(A)",1)
where句で抽出条件を指定する
QUERY関数の5種類の集計関数は、where句と併せて使うことができます。
たとえば、リストの中から「5月1日以降に購入した備品」の最小単価と最大単価を求めてみます。select句のあとに、where句で日付条件を指定します。
=query(A:E,"select min(D),max(D) where A >= date '2019-05-01'",1)
5月1日以降に購入した備品の「最小単価 200」と「最大単価 5000」を取得できました。
where句での日付の指定方法は少し特殊なので、こちらの記事で紹介しています。
他にも、where句を使用して「OA機器の最小単価と最大単価を求める」なんてこともできますね。色々組み合わせて使ってみてください。
項目ごとの最大値と最小値を求める
group by句を使用して、購入者ごとの最大値・最小値を求めることも可能です。group by句の使用方法は、他の集計関数(count, sum, avg)と同じです。
select句とgroup by句で同じ列を指定します。ここではE列の購入者です。
=query(A:E,"select E,min(D),max(D) group by E",1)
E列「購入者」ごとの最小単価と最大単価を取得できました。
QUERY関数の第1引数に列全体を指定しているため、空白行も集計されているので、空白行は除外しましょう。
where句を使用して、null(空白)でない行(なんらかのデータが存在する行)のみを集計対象にすればOKです。
=query(A:E,"select E,min(D),max(D) where D is not null group by E",1)
まとめ
今回の記事では、max関数, min関数, group by句を紹介しました。
- max関数で列の最大値を取得する
- min関数で列の最小値を取得する
- group by句で項目ごとの最大値と最小値を取得する
max関数 と min関数 は、数値だけでなく、日付・文字列データも比較できる点がポイントです。
さて次回は、group by句を徹底解説します。これまで、「区分ごとの集計」「購入者ごとの集計」など、1つの列のみの集計方法を紹介してきましたが、group by句は、複数列の集計もできるんですよ!
連載目次:GoogleスプレッドシートQUERY関数をマスターしよう
スプレッドシートのQUERY関数を使って、データ抽出・集計を効率化する方法を紹介しています。
- スプレッドシートのQUERY関数を使う最初の一歩!クエリを理解する
- QUERY関数の基本!別シートのデータからselect句で列を取得する方法
- 【QUERY関数】where句と比較演算子を使って単一条件に一致した行を抽出する
- 【QUERY関数】where句とlike演算子を使用して指定の文字を含む行を抽出する
- 【QUERY関数】where句で日付データを条件にして行を抽出する
- 【QUERY関数】where句で時刻データを条件にして行を抽出する
- 【QUERY関数】where句でand,orを使用して複数条件を指定する
- 【QUERY関数】order by句で抽出結果を昇順・降順ソートする
- 【QUERY関数】group by句とcount関数で列のデータ数をカウントする
- 【QUERY関数】group by句とsum関数で列の値の合計値を求める
- 【QUERY関数】group by句とavg関数で列の値の平均値を求める
- 【QUERY関数】group by句とmax・min関数で列の最大値・最小値を求める
- 【QUERY関数】group by句で複数の列をグループ化して集計する