Googleスプレッドシートで指定したデータ範囲内で複数条件に一致するデータの平均値を出したい場合は、DAVERAGE関数を使用します。
同じことができる関数としてAVERAGEIF関数、AVERAGEIFS関数があります。
これらの関数は、できることは同じで数式、条件の入れ方が異なりますが、データも条件も同じならどの関数を使用しても同じ結果になります。
INDEX
スプレッドシートのDAVERAGE関数の使い方
性別が「男」でクラスが「1」の生徒の平均点を表示する
2つの条件に一致する平均値を求める
性別が「男」の中でクラスが「1」の生徒の平均点を表示するには以下のような数式を入力します。
1. 平均点を表示させたいセルを選択します。
(今回はセルH4)
2. =DAVERAGE(A3:D13,D3,F3:G4) と入力します。
- データベース:データの範囲を見出し含めて選択する。
- フィールド:選択したデータベース内の平均を求める列見出しのセルを指定
- 条件:条件を入力したセル範囲(F3からG4)
=DAVERAGE(A3:D13,D3,F3:G4)
上記の条件(男でクラスが1)に一致した生徒の平均点は「77点」ということがわかりました。
データベース、条件で指定するセル範囲には必ず項目名を入れます。
さらに条件で使用する項目名は、データベースにある項目名と同じである必要があります。
違う項目名になっていると条件が正しく認識されません。
DAVERAGE関数とAVERAGEIFS関数の違い
条件が同じであれば、DAVERAGE関数、AVERAGEIFS関数どちらを使用しても結果は同じになります。
今回の例ではそれぞれの関数では以下のようになります。
DAVERAGEの式
=DAVERAGE(A3:D13,D3,F3:G4)
AVERAGEIFSの式
=AVERAGEIFS(D4:D13,B4:B13,F4,C4:C13,G4)
違いは、DAVERAGE関数は条件がいくつあっても、1つのセル範囲として指定しています。
AVERAGEIFS関数は条件ごとにセル範囲を指定します。
そのため、条件が多いほど数式がどんどん長くなります。
条件が多いほどAVERAGEIFS関数は数式が長くなり、内容を確認するのに時間がかかります。
DAVERAGE関数はシート内に表形式で条件を指定しているため、条件が増えた時にはセル範囲を拡げる必要はあっても、数式が長くなることはありません。
条件が多いほどDAVERAGEの方がわかりやすいことが実感できると思います。
DAVERAGEでの使えるワイルドカード
DAVERAGE関数で指定する条件は、テキストの完全一致だけでなく、数字の条件やワイルドカードを使用して部分一致での条件も指定できます。
条件を数字の範囲で指定する時
数字の範囲で条件指定する時によく使用される演算子と意味は以下です。
下記の記号を使用することで、50点以上のように条件を数字の範囲で指定することができます。
記号 | 意味 | 入力例 |
= | 等しい | =100 |
<> | 等しくない | <>0 |
< | 未満 | <50 |
<= | 以下 | <=50 |
> | より大きい | >50 |
>= | 以上 | >=50 |
条件を文字列の部分一致で指定する時(ワイルドカード)
部分一致と呼ばれる条件の時にはワイルドカードで条件を指定します。
ワイルドカードとは、文字の代わりに*や?の記号を使用した条件指定の方法です。
「*」(アスタリスク):文字数を限定しない
条件の種類 | 条件 | 該当する例 |
前方一致 | 株式会社* | 株式会社A、株式会社ABC |
後方一致 | *株式会社 | A株式会社、ABC株式会社 |
部分一致 | *株式会社* | A株式会社B、ABC株式会社DE |
「?」(クエスチョンマーク):1文字の代わり
条件の種類 | 条件 | 該当する例 |
前方一致 | 株式会社? | 株式会社A |
後方一致 | ?株式会社 | A株式会社 |
部分一致 | ?株式会社? | A株式会社B |
スプレッドシートのDAVERAGE関数の構文
スプレッドシートのDAVERAGE関数は以下のように入力します。
引数 | 説明 |
---|---|
データベース | データの範囲を見出し含めて選択する。 |
フィールド | 選択したデータベース内の平均を求める列見出しのセルを指定。 |
条件 | 条件を入力したセル範囲を選択する。 |