【エクセル】AVERAGEIF関数(アベレージ・イフ)の使い方。条件に一致する平均を求める方法

エクセルのAVERAGEIF関数で条件に一致する平均値を算出する方法

Excel(エクセル)で平均値を求めるときはAVERAGE関数を使うと便利です。

条件付きで平均値を求めるときは、AVERAGEIF関数(アベレージ・イフ)を使いましょう。

この記事では、AVERAGEIF関数の使い方と、AVERAGEIF関数を使った6つの実例を紹介します。

エクセルのAVERAGEIF関数とは

AVERAGEIFの読み方は、アベレージイフです。

アベレージが「平均」、イフが「もし」という英語なので、AVERAGEIF関数は、条件に一致する平均値を求める関数です。

例えば、下の例のように、年齢40歳以上という条件で平均体重を求めることができます。

エクセルのAVERAGEIF関数は条件が一致する平均値を求める
AVERAGEIF関数は条件が一致する平均値を求める

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 」キーを押します。(ダブルクリックで選択も可)

手順1.AVERAGEIF関数の使い方(関数の候補を表示)
手順1.AVERAGEIF関数の使い方(関数の候補を表示)

そうすると、AVERAGEIF関数を挿入することができます。

=AVERAGEIF(

手順1.AVERAGEIF関数の使い方(関数の挿入)
手順1.AVERAGEIF関数の使い方(関数の挿入)

手順2.第1引数「範囲」を指定

次に、第1引数「範囲」を指定します。

条件を設定したいセル範囲はC列にあるので、C3セルからC8セルまでドラッグして範囲を選択します。ドラッグしたら、次の引数を選択するため「,」(カンマ)を入力します。

=AVERAGEIF(C3:C8,

手順2.AVERAGEIF関数の使い方(範囲を選択)
手順2.AVERAGEIF関数の使い方(範囲を選択)

手順3.第2引数「検索条件」を指定

次に、第2引数「検索条件」を設定します。

「40以上」という条件を指定したいので、「”>=40”」と入力します。全角で入力しないよう注意してください。入力したら、次の引数を選択するため「,」(カンマ)を入力します。

=AVERAGEIF(C3:C8,">=40",

手順3.AVERAGEIF関数の使い方(検索条件を指定) 直接条件を入力する場合
手順3.AVERAGEIF関数の使い方(検索条件を指定) 直接条件を入力する場合

もし、条件となる「40」という数値をセル参照したい場合は、条件は「">="&F6」と入力します。

=AVERAGEIF(C3:C8,">="&F6,

手順3.AVERAGEIF関数の使い方(検索条件を指定) セルを参照する場合
手順3.AVERAGEIF関数の使い方(検索条件を指定) セルを参照する場合

手順4.第3引数「平均範囲」を指定

最後に、第3引数「平均範囲」を指定します。

平均値を算出したいセル範囲はD列にあるので、D3セルからD8セルまでドラッグして範囲を選択します。ドラッグしたら、関数を「)」(かっこ)で閉じます。

=AVERAGEIF(C3:C8,">=40",D3:D8)

手順4.AVERAGEIF関数の使い方(平均範囲を指定)
手順4.AVERAGEIF関数の使い方(平均範囲を指定)

手順5.AVERAGEIF関数の完成

AVERAGEIF関数が完成したので、「Enter」キーを押してください。

そうすると、「40歳以上の平均体重」が「65kg」と算出することができました。

手順5.AVERAGEIF関数の使い方(結果を確認)
手順5.AVERAGEIF関数の使い方(完成を確認)

AVERAGEIF関数を使った実例1(特定の文字)

AVERAGEIF関数で、特定の文字と一致する平均値を求める方法です。

第2引数「条件」に「”男”」と入力することで、C列が「男」の平均体重をD列から求めることができます。

=AVERAGEIF(C3:C8,"男",D3:D8)

図解.AVERAGEIF関数を使った実例1(特定の文字)
図解.AVERAGEIF関数を使った実例1(特定の文字)

「男」と入力されたF5セルを参照する場合は、以下のように関数を作成します。

=AVERAGEIF(C3:C8,F5,D3:D8)

図解.AVERAGEIF関数を使った実例1(特定の文字) セル参照する場合
図解.AVERAGEIF関数を使った実例1(特定の文字) セル参照する場合

AVERAGEIF関数を使った実例2(特定の文字以外)

AVERAGEIF関数で、特定の文字以外の平均値を求める方法です。

第2引数「条件」に「"<>"&"小学1年生"」と入力することで、C列が「小学1年生以外」の平均体重をD列から求めることができます。

=AVERAGEIF(C3:C8,"<>"&"小学1年生",D3:D8)

図解.AVERAGEIF関数を使った実例2(特定の文字以外)
図解.AVERAGEIF関数を使った実例2(特定の文字以外)

「小学1年生」と入力されたF5セルを参照する場合は、以下のように関数を作成します。

=AVERAGEIF(C3:C8,"<>"&F5,D3:D8)

図解.AVERAGEIF関数を使った実例2(特定の文字以外) セル参照する場合
図解.AVERAGEIF関数を使った実例2(特定の文字以外) セル参照する場合

AVERAGEIF関数を使った実例3(以上、以下、より上、未満)

AVERAGEIF関数で、「以上」「以下」「より上」「未満」の条件で平均値を求める方法です。

条件の設定に利用する記号は、「>=」「<=」「>」「<」です。全角で入力すると関数はエラーで表示されるので、半角で入力します。

第2引数「条件」に「">=40"」と入力することで、C列が「40歳以上」の平均体重をD列から求めることができます。

=AVERAGEIF(C3:C8,">=40",D3:D8)

図解.AVERAGEIF関数を使った実例3(条件:以上)
図解.AVERAGEIF関数を使った実例3(条件:以上)

「40」と入力されたF5セルを参照する場合は、以下のように関数を作成します。

=AVERAGEIF(C3:C8,">="&F5,D3:D8)

図解.AVERAGEIF関数を使った実例3(条件:以上) セル参照する場合
図解.AVERAGEIF関数を使った実例3(条件:以上) セル参照

下の表のように、条件の設定に使うセル範囲と、平均を求めるセル範囲が同じ場合は、第3引数「平均範囲」は省略します。

=AVERAGEIF(C3:C8,">=60")

図解.AVERAGEIF関数を使った実例3(第3引数を省略)
図解.AVERAGEIF関数を使った実例3(第3引数を省略)

AVERAGEIF関数を使った実例4(数値0を計算から除く)

AVERAGEIF関数で、数値0を計算から除いて平均値を算出する方法です。

第2引数「条件」に「"<>0"」と入力すると、数値が0以外のセルの平均値を算出することができます。

=AVERAGEIF(D3:D8,"<>0")

図解.AVERAGEIF関数を使った実例4(数値0を除く)
図解.AVERAGEIF関数を使った実例4(数値0を除く)

AVERAGEIF関数を使った実例5(~を含む)

AVERAGEIF関数で、「~を含む」という条件で平均値を求める方法です。

「~を含む」は、ワイルドカードと呼ばれる記号「*」や「?」を利用します。

下の表のように、条件に「”A*”」と入力することで、「Aで始まる文字列」を条件に、平均値を計算することができます。

=AVERAGEIF(C3:C8,"A*",D3:D8)

図解.AVERAGEIF関数を使った実例5(~を含む)
図解.AVERAGEIF関数を使った実例5(~を含む)

ワイルドカードの詳しい使い方は、以下の記事で紹介しています。使い方の具体例を知りたい方は、参考にしてください。

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関数を使った実例6(CHOOSE関数)
図解.AVERAGEIF関数を使った実例6(CHOOSE関数)

関数の詳しい使い方と手順は、以下の記事で紹介していますので、参考にしてみてください。

AVERAGEIF関数のエラーが発生する場合の解決方法

AVERAGEIF関数でエラーが表示されたり、警告(注意)が表示される原因は、引数の設定方法が誤っているためです。

引数「条件」の設定に利用する「>=」「<=」「>」「<」の記号を全角で入力すると、「DIV/0!」というエラーが発生します。必ず、半角で入力しましょう。

下の例の場合、半角「=」が全角の「=」で入力されているためにエラーが発生しています。

=AVERAGEIF(C3:C8,">"&F5,D3:D8)

図解.AVERAGEIF関数でエラーが表示される原因
図解.AVERAGEIF関数でエラーが表示される原因

また、条件に利用する「”」「&」などの記号の位置を間違っていると、「この数式には問題があります。」というエラーが発生します。

AVERAGEIF関数で表示されるエラー
AVERAGEIF関数で表示されるエラー

エラーの原因が分からない方は、以下の表を参考に、条件が正しく設定されているか確認してみてください。

 条件 符号 直接入力する場合セルを指定する場合
以上 >=">=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")

AVERAGEIFS関数で複数の条件で平均値を算出する方法
AVERAGEIFS関数で複数の条件で平均値を算出する方法