Excel(エクセル)で平均値を求めるときはAVERAGE関数を使うと便利です。
条件付きで平均値を求めるときは、AVERAGEIF関数(アベレージ・イフ)を使いましょう。
この記事では、AVERAGEIF関数の使い方と、AVERAGEIF関数を使った6つの実例を紹介します。
エクセルのAVERAGEIF関数とは
AVERAGEIFの読み方は、アベレージイフです。
アベレージが「平均」、イフが「もし」という英語なので、AVERAGEIF関数は、条件に一致する平均値を求める関数です。
例えば、下の例のように、年齢40歳以上という条件で平均体重を求めることができます。
AVERAGEIF関数の構文と引数
エクセルのAVERAGEIF関数の構文(書式)と引数は、以下のとおりです。
=AVERAGEIF(範囲, 検索条件, [平均範囲])
それぞれの引数の入力内容は、以下のとおりです。
第1引数「範囲」:入力必須です。条件を設定する対象のセル範囲を指定します。(例:A2:A10)
第2引数「検索条件」:入力必須です。第1引数「範囲」から、どんな条件で平均値を算出するかを設定します。セルを指定せず、文字列を指定する場合は「”」で囲みます。(例:2、"男"、">=32")
第3引数「平均範囲」:省略可能です。平均する実際のセル範囲を指定します。指定しない場合は、第1引数「範囲」が使用されます。(例:A2:A10)
AVERAGEIF関数の「条件」に使う比較演算子(記号)
AVERAGEIF関数の第2引数には、平均値を算出する条件を設定する必要があります。
『以上』『より上』『以下』『未満』『等しい』『以外』を条件に設定するためには、下表の比較演算子(記号)を覚える必要があります。
条件 | 符号 | 直接入力する場合 | セルを指定する場合 |
以上 | >= | ">=30" | ">="&E11 |
より大きい | > | ">30" | ">"&E11 |
未満 | < | "<30" | “<"&E11 |
以下 | <= | "<=30" | “<="&E11 |
等しい | = | "=30“ or "30“ | “=”&E11 or E11 |
以外 | <> | "<>30“ | "<>"&E11 |
記号は半角で入力します。全角で入力すると、関数の結果でエラー「#N/A」が表示されるので注意が必要です。
また、ワイルドカードと呼ばれる「*」(アスタリスク)と「?」(疑問符)という記号を用いることで、「を含む」という条件を設定することも可能です。
ワイルドカード文字 | 入力例 | 説明 |
*(アスタリスク) | *県 | 「県」で終わる文字列 |
?(疑問符) | ? ?県 | 2文字+「県」の文字列 |
AVERAGEIF関数の使い方と手順
それでは、AVERAGEIF関数を実際に使う手順を紹介します。
今回は、関数を使って「40歳以上の平均値」を算出します。
手順1.AVERAGEIF関数を挿入
平均値を表示したいF3セルに、AVERAGEIF関数を挿入します。
セルに「=averagei」と入力すると、利用する関数の候補が表示されます。
その中からAVERAGEIF関数を選択し、 「Tab 」キーを押します。(ダブルクリックで選択も可)
そうすると、AVERAGEIF関数を挿入することができます。
=AVERAGEIF(
手順2.第1引数「範囲」を指定
次に、第1引数「範囲」を指定します。
条件を設定したいセル範囲はC列にあるので、C3セルからC8セルまでドラッグして範囲を選択します。ドラッグしたら、次の引数を選択するため「,」(カンマ)を入力します。
=AVERAGEIF(C3:C8,
手順3.第2引数「検索条件」を指定
次に、第2引数「検索条件」を設定します。
「40以上」という条件を指定したいので、「”>=40”」と入力します。全角で入力しないよう注意してください。入力したら、次の引数を選択するため「,」(カンマ)を入力します。
=AVERAGEIF(C3:C8,">=40",
もし、条件となる「40」という数値をセル参照したい場合は、条件は「">="&F6」と入力します。
=AVERAGEIF(C3:C8,">="&F6,
手順4.第3引数「平均範囲」を指定
最後に、第3引数「平均範囲」を指定します。
平均値を算出したいセル範囲はD列にあるので、D3セルからD8セルまでドラッグして範囲を選択します。ドラッグしたら、関数を「)」(かっこ)で閉じます。
=AVERAGEIF(C3:C8,">=40",D3:D8)
手順5.AVERAGEIF関数の完成
AVERAGEIF関数が完成したので、「Enter」キーを押してください。
そうすると、「40歳以上の平均体重」が「65kg」と算出することができました。
AVERAGEIF関数を使った実例1(特定の文字)
AVERAGEIF関数で、特定の文字と一致する平均値を求める方法です。
第2引数「条件」に「”男”」と入力することで、C列が「男」の平均体重をD列から求めることができます。
=AVERAGEIF(C3:C8,"男",D3:D8)
「男」と入力されたF5セルを参照する場合は、以下のように関数を作成します。
=AVERAGEIF(C3:C8,F5,D3:D8)
AVERAGEIF関数を使った実例2(特定の文字以外)
AVERAGEIF関数で、特定の文字以外の平均値を求める方法です。
第2引数「条件」に「"<>"&"小学1年生"」と入力することで、C列が「小学1年生以外」の平均体重をD列から求めることができます。
=AVERAGEIF(C3:C8,"<>"&"小学1年生",D3:D8)
「小学1年生」と入力されたF5セルを参照する場合は、以下のように関数を作成します。
=AVERAGEIF(C3:C8,"<>"&F5,D3:D8)
AVERAGEIF関数を使った実例3(以上、以下、より上、未満)
AVERAGEIF関数で、「以上」「以下」「より上」「未満」の条件で平均値を求める方法です。
条件の設定に利用する記号は、「>=」「<=」「>」「<」です。全角で入力すると関数はエラーで表示されるので、半角で入力します。
第2引数「条件」に「">=40"」と入力することで、C列が「40歳以上」の平均体重をD列から求めることができます。
=AVERAGEIF(C3:C8,">=40",D3:D8)
「40」と入力されたF5セルを参照する場合は、以下のように関数を作成します。
=AVERAGEIF(C3:C8,">="&F5,D3:D8)
下の表のように、条件の設定に使うセル範囲と、平均を求めるセル範囲が同じ場合は、第3引数「平均範囲」は省略します。
=AVERAGEIF(C3:C8,">=60")
AVERAGEIF関数を使った実例4(数値0を計算から除く)
AVERAGEIF関数で、数値0を計算から除いて平均値を算出する方法です。
第2引数「条件」に「"<>0"」と入力すると、数値が0以外のセルの平均値を算出することができます。
=AVERAGEIF(D3:D8,"<>0")
AVERAGEIF関数を使った実例5(~を含む)
AVERAGEIF関数で、「~を含む」という条件で平均値を求める方法です。
「~を含む」は、ワイルドカードと呼ばれる記号「*」や「?」を利用します。
下の表のように、条件に「”A*”」と入力することで、「Aで始まる文字列」を条件に、平均値を計算することができます。
=AVERAGEIF(C3:C8,"A*",D3:D8)
ワイルドカードの詳しい使い方は、以下の記事で紹介しています。使い方の具体例を知りたい方は、参考にしてください。
AVERAGEIF関数を使った実例6(算出条件を切り替える)
AVERAGEIF関数で、平均値の算出条件を簡単に切り替える方法を紹介します。
そのためには、CHOOSE関数とAVERAGEIF関数を組み合わせて関数を作成します。
CHOOSE関数は、1、2、3などの整数のインデックス番号に合わせて、どんな文字を表示させるかを設定できる関数です。
下の表のG6セルにCHOOSE関数を挿入し、引数にAVERAGE関数とAVERAGEIF関数を挿入します。
そうすると、G2セルの数値を変更するだけで、「全体」「男性だけ」「女性だけ」の平均体重の表示を変えることができます。
=CHOOSE(G2,AVERAGE(D3:D9),AVERAGEIF(C3:C9,"男",D3:D9),AVERAGEIF(C3:C9,"女",D3:D9))
関数の詳しい使い方と手順は、以下の記事で紹介していますので、参考にしてみてください。
AVERAGEIF関数のエラーが発生する場合の解決方法
AVERAGEIF関数でエラーが表示されたり、警告(注意)が表示される原因は、引数の設定方法が誤っているためです。
引数「条件」の設定に利用する「>=」「<=」「>」「<」の記号を全角で入力すると、「DIV/0!」というエラーが発生します。必ず、半角で入力しましょう。
下の例の場合、半角「=」が全角の「=」で入力されているためにエラーが発生しています。
=AVERAGEIF(C3:C8,">="&F5,D3:D8)
また、条件に利用する「”」「&」などの記号の位置を間違っていると、「この数式には問題があります。」というエラーが発生します。
エラーの原因が分からない方は、以下の表を参考に、条件が正しく設定されているか確認してみてください。
条件 | 符号 | 直接入力する場合 | セルを指定する場合 |
以上 | >= | ">=30" | ">="&E11 |
より大きい | > | ">30" | ">"&E11 |
未満 | < | "<30" | “<"&E11 |
以下 | <= | "<=30" | “<="&E11 |
等しい | = | "=30“ or "30“ | “=”&E11 or E11 |
以外 | <> | "<>30“ | "<>"&E11 |
AVERAGEIF関数を複数条件で利用したい場合
AVERAGEIF関数を複数条件で利用したい場合は、AVERAGEIFS関数を利用します。
=AVERAGEIFS(平均範囲, 条件範囲 1, 条件 1, [条件範囲 2, 条件 2], ...)
下の数式を挿入すると、「男性のみ」で、かつ「30歳以上」の平均体重を求めることができます。
=AVERAGEIFS(D3:D8,B3:B8,"男",C3:C8,">=30")