でも条件をいくつも指定したいときはどうすれば良いんですか?
A | B | C | D | |
1 | 商品 | 種類 | 価格 | 在庫数 |
2 | りんご | 果物 | 100 | 50 |
3 | みかん | 果物 | 80 | 40 |
4 | バナナ | 果物 | 70 | 0 |
5 | キャベツ | 野菜 | 150 | 0 |
6 | レタス | 野菜 | 120 | 60 |
みかん以外, 0以外の平均 |
いくつも条件を指定する平均値を出す場合、AVERAGEIFS関数を使うんだ
上の表で『「商品名はみかん以外」「在庫数は0以外」の平均価格』はこうなるね
=AVERAGEIFS(C2:C6,A2:A6,"<>みかん", D2:D6,"<>0")
A | B | C | D | |
1 | 商品 | 種類 | 価格 | 在庫数 |
2 | りんご | 果物 | 100 | 50 |
3 | みかん | 果物 | 80 | 40 |
4 | バナナ | 果物 | 70 | 0 |
5 | キャベツ | 野菜 | 150 | 0 |
6 | レタス | 野菜 | 120 | 60 |
みかん以外, 0以外の平均 |
110 |
なんだかAVERAGEIF関数と名前が似ていますね!
条件を複数指定できるから、複数形の「S」がついていると覚えておくといいね!
(100 + 120) ÷ 2 = 110 ということで、条件が2つ指定できていることがわかるね
AVERAGEIFS関数の構文と使い方
AVERAGEIFS関数は、平均値を出す際の条件を2つ以上指定できるのが特徴です。
冒頭でしろねこ君とくろねこ君が使っていた表と式を、もういちど見てみましょう。
A | B | C | D | |
1 | 商品 | 種類 | 価格 | 在庫数 |
2 | りんご | 果物 | 100 | 50 |
3 | みかん | 果物 | 80 | 40 |
4 | バナナ | 果物 | 70 | 0 |
5 | キャベツ | 野菜 | 150 | 0 |
6 | レタス | 野菜 | 120 | 60 |
みかん以外, 0以外の平均 |
110 |
=AVERAGEIFS(C2:C6,A2:A6,"<>みかん", D2:D6,"<>0")
この例では、以下の2つの条件で価格の平均を求めています。
- 商品名はみかん以外
- 在庫数は0以外
ここで条件が1つだけなら、AVERAGEIF関数で求めることができます。
AVERAGEIF関数の使い方についてはこちら。
今回は条件が2つあるため、AVERAGEIFS関数を使っています。
C2:C6は価格の範囲。
A2:A6, "<>みかん" の部分では、「商品名はみかん以外」という条件を指定しています。
分解してみると、まずA2:A6は商品名の範囲。
"<>みかん"は商品名の条件となります。
条件に使う範囲と、その条件の指定でワンセットになっています。
同じように、D2:D6,"<>0"は「在庫数は0以外」の条件を指定しています。
これらを合わせて、
=AVERAGEIFS(C2:C6,A2:A6,"<>みかん", D2:D6,"<>0")
という式になっています。
AVERAGEIFS関数(条件が複数)とAVERAGEIF関数(条件が1つ)は構文はとても似ていますが、順番が若干違う部分があります。
それぞれの関数の構文の違いについて見てみましょう。
AVERAGEIFS関数とAVERAGEIF関数の構文の違い
ここでもういちどAVERAGEIFS関数、そしてAVERAGEIF関数の構文を見てみましょう。
2つを見比べてみると、AVERAGEIFS関数は最初に「平均対象範囲」(=どの列の平均をとるか)を指定しています。
対してAVERAGEIF関数は、最後に「平均対象範囲」を指定しています。
さらにAVERAGEIF関数は、範囲と平均対象範囲が同じ場合、平均対象範囲を省略できます。
AVERAGEIFS関数とAVERAGEIF関数はすこし構文がまぎらわしいこともあります。
使用する際やうまく結果がでない場合、構文を見直してみると良いでしょう。
AVERAGEIFS関数の使い方 まとめ
- 構文は『 =AVERAGEIFS(平均対象範囲, 条件範囲1, 条件1, [条件範囲2, 条件2],…) 』
- AVERAGEIF関数と違い、条件を複数指定できる
- AVERAGEIF関数と構文が似ているので、使用する際は注意