• 作成日 : 2025年9月17日

AVERAGEIFS関数の使い方!複数条件の平均を求める方法

Excelの AVERAGEIFS関数 は、複数条件に一致するデータの平均を計算できる便利な関数です。単純な平均計算だけでは把握できない「特定の地域で一定額以上の売上」や「特定クラスの生徒の特定科目の平均点」といった詳細分析を、関数1つで効率的に実現できます。営業データのセグメント別分析、教育機関での成績評価、製造業での品質チェックなど、活用シーンは幅広く、業務の精度を高めるうえで欠かせません。

本記事では、AVERAGEIFS関数の構文や基本的な使い方から、実務で役立つ応用例、エラー回避のコツまでを初心者にもわかりやすく解説します。

AVERAGEIFS関数とは

AVERAGEIFS関数は、指定した複数の条件をすべて満たす数値データの平均を計算する統計関数です。AVERAGEIF関数が単一条件であるのに対し、AVERAGEIFS関数は複数の条件を同時に指定できるため、より詳細な分析が可能です。

この関数の重要な特徴は、AND条件(すべての条件を満たす)での絞り込みができることです。異なる列の条件を組み合わせることで、多次元的なデータ分析を効率的に実行できます。

参考:AVERAGEIFS 関数 – Microsoft サポート

AVERAGEIFS関数の基本的な使い方

関数の構文を理解する

AVERAGEIFS関数の構文は次のとおりです。

=AVERAGEIFS(平均対象範囲, 条件範囲1, 条件1, [条件範囲2, 条件2], …)

平均対象範囲は平均を計算したい数値データの範囲、条件範囲と条件のペアは最大127組まで指定できます。(Excelのバージョンによって制約がある場合があります)

基本的な使用例

実際の使用例を見てみましょう。

売上データで、営業部の商品Aの平均売上を計算:

=AVERAGEIFS(D2:D100, B2:B100, “営業部”, C2:C100, “商品A”)

数値条件を含む例:

=AVERAGEIFS(売上列, 地域列, “関東”, 売上列, “>100000”)

この場合、関東地域で売上が10万円を超える取引の平均を計算します。

条件の指定方法

様々な条件の指定例:

=AVERAGEIFS(金額, 日付, “>=2024/1/1”, 日付, “<=2024/3/31”) ‘ 期間指定

=AVERAGEIFS(点数, 科目, “数学”, 点数, “>=”&合格点)  ‘ セル参照を使用

=AVERAGEIFS(価格列, カテゴリ列, “<>除外品”)  ‘ 否定条件

AVERAGEIFS関数の実践的な利用シーン

営業成績の分析

企業の営業管理では、様々な切り口での平均値分析が必要です。AVERAGEIFS関数を使用して、「東日本エリアの法人営業部門の新規顧客の平均契約金額」といった複雑な条件での分析が可能です。

地域別、部門別、顧客種別、期間別など、複数の軸を組み合わせた分析により、営業戦略の精度を高められます。高パフォーマンスセグメントの特定により、リソースの最適配分が可能になります。

教育機関での成績評価

学校や塾では、クラス別、科目別、性別などの属性を組み合わせた成績分析が重要です。「理系クラスの男子生徒の数学の平均点」のような詳細な分析により、教育効果を正確に評価できます。

特定の条件下での学力傾向を把握することで、カリキュラムの改善や個別指導の必要性を判断できます。

品質管理での統計分析

製造業では、製品の品質データを多角的に分析する必要があります。「製造ラインAで午前中に生産された製品Xの寸法平均値」など、工程条件を組み合わせた分析により、品質のばらつき要因を特定できます。

時間帯、ライン、作業者、材料ロットなどの条件を組み合わせることで、品質改善の具体的な施策を立案できます。

AVERAGEIFS関数の応用テクニック

動的な条件設定

ドロップダウンリストと連動:

=AVERAGEIFS(データ範囲, 部署列, 選択部署セル, 月列, 選択月セル)

ワイルドカードの使用

部分一致での条件指定:

=AVERAGEIFS(売上, 商品名, “スマート*”, 地域, “*東”)

日付の範囲指定

月次データの集計:

=AVERAGEIFS(売上, 日付, “>=”&DATE(2024,1,1), 日付, “<“&DATE(2024,2,1))

よくあるエラーと対策

#DIV/0!エラーへの対処

条件に一致するデータが存在しない場合に発生します。

基本的なエラー処理:

=IFERROR(AVERAGEIFS(D:D, B:B, “営業部”, C:C, “商品A”), “該当データなし”)

件数チェックを含む処理:

=IF(COUNTIFS(B:B, “営業部”, C:C, “商品A”)=0,

“条件に一致するデータがありません”,

AVERAGEIFS(D:D, B:B, “営業部”, C:C, “商品A”))

条件が厳しすぎて該当データがない場合、このエラーが発生します。事前にCOUNTIFS関数で件数を確認することで、エラーの原因を明確にできます。条件を緩和するか、データの存在を確認してから計算することが重要です。

範囲のサイズ不一致

条件範囲のサイズが異なる場合のエラー:

=IF(ROWS(平均範囲)=ROWS(条件範囲1),

AVERAGEIFS(平均範囲, 条件範囲1, 条件1),

“範囲のサイズが一致しません”)

動的範囲での対処:

=AVERAGEIFS(

OFFSET(D1, 1, 0, COUNTA(A:A)-1, 1),

OFFSET(B1, 1, 0, COUNTA(A:A)-1, 1), 条件1)

すべての範囲は同じサイズである必要があります。データの追加や削除で範囲がずれることがあるため、名前付き範囲やテーブル機能を使用することで、この問題を防げます。動的な範囲指定により、データの増減に自動対応できます。

文字列データの混入

数値以外のデータが平均対象範囲に含まれる場合:

=AVERAGEIFS(数値列, 条件列1, 条件1, 数値列, “>0”)

データ型の事前チェック:

=IF(SUMPRODUCT(–NOT(ISNUMBER(D2:D100)))>0,

“警告:数値以外のデータが” & SUMPRODUCT(–NOT(ISNUMBER(D2:D100))) & “個含まれています”,

AVERAGEIFS(D2:D100, B2:B100, “営業部”))

AVERAGEIFS関数は文字列や空白を無視しますが、エラー値が含まれている場合は計算できません。データクリーニングを事前に行うか、IFERROR関数でエラー値を除外することが必要です。

条件の論理エラー

矛盾する条件の指定:

=IF(開始日>終了日,

“日付の条件が矛盾しています”,

AVERAGEIFS(売上, 日付, “>=”&開始日, 日付, “<=”&終了日))

条件の重複チェック:

=IF(条件1=条件2,

“同じ条件が重複しています”,

AVERAGEIFS(データ, 条件範囲, 条件1, 条件範囲, 条件2))

相互に矛盾する条件(例:>100 かつ <50)を指定すると、常に結果が0件となります。条件の論理的整合性を確認することが重要です。

AVERAGEIFS関数と他の関数との組み合わせ

COUNTIFS関数での件数確認

平均値と件数を同時に表示:

=”平均: ” & TEXT(AVERAGEIFS(金額, 部署, “営業”, 地域, “関東”), “#,##0″) &

” (n=” & COUNTIFS(部署, “営業”, 地域, “関東”) & “)”

平均値だけでなく、サンプル数も表示することで、結果の信頼性を評価できます。少数のデータから計算された平均値は、統計的に不安定な可能性があるため、件数の確認は重要です。品質レポートや分析資料では、必ず件数を併記することを推奨します。

SUMIFS関数での合計値表示

平均、合計、件数の包括的表示:

=”売上合計: ” & TEXT(SUMIFS(売上, 条件範囲1, 条件1), “#,##0″) &

” / 平均: ” & TEXT(AVERAGEIFS(売上, 条件範囲1, 条件1), “#,##0″) &

” / 件数: ” & COUNTIFS(条件範囲1, 条件1)

合計、平均、件数の3つの指標を組み合わせることで、データの全体像を把握できます。外れ値の影響を評価したり、ビジネスインパクトを総合的に判断したりする際に有効です。

STDEV.S関数での標準偏差計算(配列数式)

条件付き標準偏差の計算:

=STDEV.S(IF((条件範囲1=条件1)*(条件範囲2=条件2), 平均対象範囲)) ’ 配列数式(Ctrl+Shift+Enter)が必要

平均値と標準偏差を組み合わせることで、データのばらつきも評価できます。品質管理では、平均値が規格内でも、ばらつきが大きい場合は問題となるため、両方の指標が重要です。

IF関数での閾値判定

平均値に基づく自動評価:

=IF(AVERAGEIFS(評価点, 部署, A2)>=80, “優秀部署”,

IF(AVERAGEIFS(評価点, 部署, A2)>=60, “標準”, “要改善”))

計算された平均値を基準値と比較し、自動的に評価やアクションを決定できます。KPI管理やパフォーマンス評価で活用でき、ダッシュボードでの視覚的な表示にも適しています。

MAX/MIN関数での範囲確認

条件別の最大・最小・平均の比較:

=”最小: ” & MIN(IF(条件範囲=条件, データ範囲)) &

” / 平均: ” & AVERAGEIFS(データ範囲, 条件範囲, 条件) &

” / 最大: ” & MAX(IF(条件範囲=条件, データ範囲))

データの分布を理解するため、平均値だけでなく最大値と最小値も確認することが重要です。外れ値の存在や、データの偏りを発見できます。

RANK関数でのランキング

部門別平均のランキング:

=RANK(AVERAGEIFS(売上, 部署, A2),

各部署の平均値リスト, 0)

各グループの平均値を計算し、その順位を表示できます。部門間の比較や、競争的な評価制度での活用が可能です。

AVERAGEIFS関数で複数条件の平均を効率的に算出

AVERAGEIFS関数は、複数の条件を同時に満たすデータの平均を算出できるExcelの統計関数です。営業データのセグメント別分析や教育現場での成績評価、製造業の品質管理など、実務の幅広い場面で活用できます。

条件の指定方法は柔軟で、日付範囲・数値条件・否定条件も扱えます。さらにCOUNTIFSやSUMIFSと組み合わせれば、件数・合計・平均を同時に表示して分析の信頼性を高められます。注意点として、範囲のサイズを揃えること、条件が厳しすぎないか確認すること、文字列データやエラー値を事前に処理することが重要です。

バージョンによって配列数式の入力方法が異なる点にも留意しましょう。正しく活用することで、複雑なデータも効率よく整理でき、実務判断に役立つ精度の高い平均値を算出できます。


※ 掲載している情報は記事更新時点のものです。

※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。

関連記事