スプレッドシート

スプレッドシートのAVERAGEIF関数, AVERAGEIFS関数は条件に合う平均

スプレッドシートのAVERAGEIF関数

スプレッドシートのAVERAGEIF関数とは

スプレッドシートのAVERAGEIF関数とは、AVERAGE関数とIF関数をあわせたような関数で、特定の条件に当てはまった行のみを足し合わせて平均するものです。「=AVERAGEIF(A1:A10,”>3″,B1:B10)」のようにかき、条件にマッチするか判定する列と平均する列を分けられるのが便利な関数です。

スプレッドシートのAVERAGEIFS関数とは

スプレッドシートのAVERAGEIFS関数とは、複数条件に合致したセルを足し合わせて平均する関数です。AVERAGEIF関数が1つのみ条件を設定できるのに対し、AVERAGEIFS関数は2つ以上の条件を設定できます。

AVERAGEIF関数の構文

=AVERAGEIF(条件範囲, 条件, [平均範囲])
  • 条件範囲:条件を判定する範囲
  • 条件:平均する対象を決めるための条件
  • 平均範囲:平均化する範囲。指定しない場合は、代わりに条件範囲が平均範囲になる。(任意)

AVERAGEIFS関数の構文

=AVERAGEIFS(平均範囲, 条件範囲1, 条件1, [条件範囲2, 条件2, ...])
  • 平均範囲:平均化する範囲
  • 条件範囲:条件を判定する範囲
  • 条件:平均する対象を決めるための条件
  • 条件範囲2, 条件2:(任意)
シャワーズ

AVERAGEIFS関数の平均範囲は、AVERAGEIF関数と異なり必須です!

AVERAGEIF関数の使い方

[例1]条件範囲と平均範囲が同じ場合

条件範囲と平均範囲が同じ場合のAVERAGEIF関数は、範囲と条件のみを指定します。下図の「=AVERAGEIF(E2:E13,”>=1000″)」では、E列のうち¥1,000以上のセルのみを平均しています。

[例2]条件範囲と平均範囲が異なる場合

条件範囲と平均範囲が異なる場合のAVERAGEIF関数は、条件範囲・条件・平均範囲の3つを記載しましょう。たとえば「=AVERAGEIF(B2:B13,”*ボール*”,E2:E13)」のようにかきます。

この場合では、次の2ステップを踏んで平均を出しています。

  • B2:B13のうち、条件「”*ボール*”」に当てはまる行をピックアップ
  • 条件に当てはまった行のうち、E2:E13の数値を用いて平均する

※条件「”*ボール*”」のようなワイルドカードを使った特殊な書き方は後述。

AVERAGEIFS関数の使い方

AVERAGEIFS関数の使い方は、まず平均範囲をかき、そのあとに条件範囲と条件を必要なだけ繰り返し記載するというものです。たとえば下図の場合には「=AVERAGEIFS(E2:E13,E2:E13,”>=1000″,B2:B13,”*ボール*”)」として記載し、条件範囲と条件を2つずつ指定しています。

この場合では、次の3ステップを踏んで平均を出しています。

  • E2:E13のうち、条件「”>1000″」に当てはまる行をピックアップ
  • B2:B13のうち、条件「”*ボール*”」に当てはまる行をピックアップ
  • 2つの条件に当てはまった行のうち、E2:E13の数値を用いて平均する

大小比較や特定の文字を含む書き方

条件を指定する際の、大小比較やワイルドカードを使った書き方は次のとおりです。より具体的な書き方についてはこちらのSUMIF関数の記事で紹介しています。

大小を比較する表現

書き方意味
“=XX”XXと同じ
“>XX”XXより大きい
“<XX”XXより小さい、XX未満
“>=XX”XX以上
“<=XX”XX以下
“<>XX”XXではない

特定の文字列を含むワイルドカード

書き方例意味
“*XX*”XXを含む
“XX*”XXで始まる
“*XX”XXで終わる
“?XX”なにか1文字+XXである
“??XX”なにか2文字+XXである
※「*」はアスタリスクです

AVERAGEIF関数, AVERAGEIFS関数のエラー

[#VALUE!]AVERAGEIFS の配列引数のサイズが異なります。

AVERAGEIF関数やAVERAGEIFS関数では「[#VALUE!]AVERAGEIFS の配列引数のサイズが異なります。」のようなエラーが出ることもあります。たとえば、「=AVERAGEIFS(E2:E13,E2:E10,”>=1000″,B2:B13,”*ボール*”)」のように記載した場合です。

これを解消するには、すべての平均範囲と条件範囲の行数をそろえましょう。今回でいうと「E2:E13」が12行、「E2:E10」が9行、「B2:B13」が12行となっているので、「E2:E10」を12行になるようにそろえます。

[#N/A!]AVERAGEIFS の 3 より後の引数はすべて、対になっている必要があります。

「AVERAGEIFS の 3 より後の引数はすべて、対になっている必要があります。」というエラーが出た場合には、条件範囲と条件の数が一致していません

たとえば下図では「=AVERAGEIFS(E2:E13,E2:E13,”>=1000″,B2:B13)」と記載していてエラーが出ています。

このとき条件範囲と条件の組み合わせが下のようになっており、「B2:B13」が一人ぼっちです。

  • 「E2:E13」→「”>=1000″」
  • 「B2:B13」→?

そのため一対となるように条件を足しましょう。下記の条件は一例です。

  • 「E2:E13」→「”>=1000″」
  • 「B2:B13」→「”*ボール*”」