AVERAGEIF 条件付き平均

AVERAGEIF 条件付き平均 アイキャッチ画像 関数・数式

月次決算の早期化や営業データの精度向上を求められる現場では、大量のデータから「特定の条件に合致する平均値」を瞬時に算出するスキルが欠かせません。1件ずつフィルタをかけて集計し、電卓や個別の数式で計算を繰り返す作業は、時間の浪費であるだけでなく、転記ミスのリスクを増大させます。実務におけるデータ分析の第一歩は、こうした単純作業を関数で自動化し、分析そのものに時間を割ける状態を作ることです。

  1. 「AVERAGEIF 条件付き平均」で集計作業の8割を自動化する実務的メリット
    1. 業務スピードと正確性の両立
    2. データの可視化による説得力の向上
    3. 組織内でのスキル標準化
  2. 数式入力で迷わないための引数構成とデータ構造の最適化
    1. 3つの引数の役割を正しく理解する
    2. 平均対象範囲を省略する場合の注意点
    3. 関数が正しく動作するデータレイアウトの基本
  3. 営業部の売上目標達成率を部署別に算出する実践シナリオ
    1. 営業第一課の平均受注金額を算出する手順
    2. 特定の担当者に絞ったパフォーマンス分析
    3. 条件をセル参照にして動的なレポートを作成する
  4. 経理部門が月次決算で活用する経費精算データの異常値チェック術
    1. 旅費交通費の平均額から不自然な申請を見つける
    2. 接待交際費の平均単価によるコストコントロール
    3. 決算仕訳の妥当性を確認するための平均算出
  5. 在庫管理における型番別の平均在庫金額を瞬時に把握するテクニック
    1. 倉庫拠点ごとの平均在庫日数の算出
    2. 商品カテゴリ(型番グループ)別の在庫金額分析
    3. 実務でよく見かける「単位の不一致」による失敗
  6. ワイルドカードとセル参照を組み合わせて検索条件を動的に変更する応用
    1. アスタリスク「」を活用した部分一致の集計
    2. 疑問符「?」による特定の文字数の指定
    3. 実務で必須となる「セル参照+ワイルドカード」の構文
  7. 「#DIV/0!」エラーを美しく回避してレポートの完成度を高める工夫
    1. なぜエラーが発生するのか、その根本原因
    2. IFERROR関数を組み合わせたスマートな解決策
    3. 空白を返して視認性を高める方法
  8. ピボットテーブルを使わずに関数で平均を算出するべき3つの場面
    1. 特定のフォーマットが決まっている報告書を作成する場合
    2. データが頻繁に更新され、即座に結果を反映させたい場合
    3. 他の数式と組み合わせて複雑な判定を行いたい場合
  9. Ctrl+Shift+Lフィルタから脱却して動的な集計表を作成する手順
    1. ステータスバー確認の限界を知る
    2. 「集計表」シートの作成による構造化
    3. テーブル機能との組み合わせで範囲指定を自動化
  10. Googleスプレッドシートとの挙動の違いと複数条件への拡張性
    1. スプレッドシートにおけるArrayFormulaとの組み合わせ
    2. 「かつ(AND)」条件に対応するAVERAGEIFSへのステップアップ
    3. バージョン別の対応状況:Excel 2019 / 2021 / 365
  11. 社内研修で頻出する「条件指定」に関する5つのテクニカルFAQ
    1. Q1:数値が「文字列」として保存されていて計算されません
    2. Q2:日付を条件にする場合、どう書けばいいですか?
    3. Q3:0(ゼロ)を含めて平均を出したくないのですが
    4. Q4:条件にスペースが入っているとうまくいきません
    5. Q5:計算結果が電卓と合いません。なぜでしょうか?
  12. 明日からの実務に取り入れるための最終チェックリスト
    1. 関連記事

「AVERAGEIF 条件付き平均」で集計作業の8割を自動化する実務的メリット

実務家として15年Excelと向き合ってきましたが、経理や営業管理の現場で最も重宝されるのは、実は複雑なマクロではなく、AVERAGEIF関数のような「条件付き集計」をいかに正確に使いこなせるかという点にあります。この関数を習得することで、例えば「全社の平均売上」という大まかな数字ではなく、「営業第一課だけの平均受注単価」といった、意思決定に直結する具体的な指標を数秒で導き出せるようになります。

業務スピードと正確性の両立

筆者の経験では、手作業でデータを抽出して平均を出しているチームと、AVERAGEIF関数を組み込んだテンプレートを活用しているチームでは、レポート作成にかかる時間に10倍以上の差が出ます。一度数式を組んでしまえば、元データを更新するだけで集計結果が自動的に反映されるため、締日の忙しい時間帯に焦って計算し直す必要がなくなります。

データの可視化による説得力の向上

単なる平均値よりも、特定の条件(部署、商品カテゴリ、取引先ランクなど)に基づいた平均値の方が、会議での説得力は格段に高まります。例えば、経理部が経費精算の精査を行う際、全社員の平均交通費を見るよりも、「営業部Aチーム」に絞った平均値を出すことで、異常値や特定の傾向を早期に発見できるメリットがあります。

組織内でのスキル標準化

研修で教えていると、属人化した集計手法がチームのボトルネックになっているケースをよく見かけます。AVERAGEIF関数は構文がシンプルで、誰が読んでも理解しやすいという特徴があります。これを共通言語として活用することで、担当者が不在でも集計ロジックがブラックボックス化せず、組織全体のデータリテラシー向上に寄与します。

数式入力で迷わないための引数構成とデータ構造の最適化

関数の習得において初心者が最初につまずくポイントは、引数の順番とその役割の混同です。AVERAGEIF関数には3つの引数がありますが、それぞれの意味を「日本語の論理構造」として理解することが、入力ミスを防ぐ近道となります。

3つの引数の役割を正しく理解する

基本となる構文は「=AVERAGEIF(範囲, 条件, [平均対象範囲])」です。これを実務的に翻訳すると、「どこを探して(範囲)、何に一致するものを(条件)、どの数字を計算するか(平均対象範囲)」となります。実務でよく見かけるのは、条件を指定する「範囲」と、実際に計算を行う「平均対象範囲」を逆にしてしまい、エラーが出るケースです。

平均対象範囲を省略する場合の注意点

第3引数の「平均対象範囲」は省略可能ですが、実務でこれを省略するシーンは限られています。省略した場合、第1引数の「範囲」自体が計算対象となります。例えば、数値が入力されたB列に対して「10,000円以上の平均を出す」といった場合は省略できますが、部署名でフィルタをかける場合は必ず第3引数の指定が必要になります。

関数が正しく動作するデータレイアウトの基本

筆者が社内研修で最も強調するのは、関数の書き方以前に「データの並び」の重要性です。1行に1つのレコード(取引)が完結している「リスト形式」のデータであれば、AVERAGEIF関数は最大限の効果を発揮します。結合されたセルや、途中に挿入された空行、小計行が混在しているシートでは、範囲指定がずれる原因となり、集計結果の信頼性が損なわれます。

AVERAGEIF 条件付き平均 - A列に部署名、B列に氏名、C列に売上金額が並んだ綺麗なリスト形式のデータ例
A列に部署名、B列に氏名、C列に売上金額が並んだ綺麗なリスト形式のデータ例

営業部の売上目標達成率を部署別に算出する実践シナリオ

具体的な実務シーンとして、営業管理における「部署別の受注単価分析」を考えてみましょう。営業部、経理部、総務部といった組織全体のデータから、特定の課やチームのパフォーマンスを抽出する作業は、日常的に発生します。

営業第一課の平均受注金額を算出する手順

A列に「部署名(営業第一課、営業第二課等)」、B列に「担当者名(田中、佐藤、鈴木等)」、C列に「受注金額(型番A-001等の取引額)」が入力されているとします。営業第一課の平均値を出す場合、数式は以下のようになります。
「=AVERAGEIF(A:A, “営業第一課”, C:C)」
この数式により、A列の中から”営業第一課”という文字列を検索し、それに対応するC列の数値だけを抽出して平均を算出します。

特定の担当者に絞ったパフォーマンス分析

さらに粒度を細かくし、特定の個人(例:佐藤さん)の平均受注額を追うことも可能です。「=AVERAGEIF(B:B, “佐藤”, C:C)」と入力すれば、その担当者が一案件あたりどれくらいの規模のビジネスを動かしているのかが定量化されます。これは人事評価やリソース配分の議論において、主観を排除した貴重なデータとなります。

条件をセル参照にして動的なレポートを作成する

実務の現場では、数式内に直接 “営業第一課” と書き込むのは避けるべきです。条件を特定のセル(例:E1セル)に入力しておき、「=AVERAGEIF(A:A, E1, C:C)」と参照させることで、E1セルの値をプルダウンで切り替えるだけで、各部署の平均値を瞬時に表示できる動的な分析ツールに進化します。

AVERAGEIF 条件付き平均 - 条件をセル参照にし、プルダウンで部署名を切り替えると結果が連動して変わる様子
条件をセル参照にし、プルダウンで部署名を切り替えると結果が連動して変わる様子

ポイント: 条件をセル参照にすることで、数式の修正ミスを防ぎ、報告資料の作成時間を短縮できます。プルダウン(入力規則)との組み合わせは実務の鉄板構成です。

経理部門が月次決算で活用する経費精算データの異常値チェック術

経理の現場では、AVERAGEIF関数は単なる集計ツールではなく、「異常検知」の役割も果たします。月次決算の際、勘定科目ごとの平均額を算出し、前月比や予算比で大きく乖離していないかを確認する作業に威力を発揮します。

旅費交通費の平均額から不自然な申請を見つける

例えば、全社員の経費明細リストから、「旅費交通費」という科目のみの平均値を算出します。
「=AVERAGEIF(科目列, “旅費交通費”, 金額列)」
この平均値に対し、あまりにもかけ離れた高額な申請がある場合、入力ミスや規定違反の可能性を疑うことができます。筆者が監査対応を行っていた際も、この手法で特定の部署におけるタクシー代の突出を早期に発見したことがあります。

接待交際費の平均単価によるコストコントロール

部署名(営業部、開発部等)と勘定科目を組み合わせることで、部署ごとの交際費の使い方を分析できます。特定の部署だけが平均を大きく上回っている場合、その理由をヒアリングする根拠として、客観的な「平均値」という数字が役立ちます。

決算仕訳の妥当性を確認するための平均算出

決算整理仕訳において、過去数ヶ月の平均額を未払費用として計上するケースがあります。この際、対象となる月や科目を正確にフィルタリングして平均を出すことで、会計監査の際にも「なぜこの金額になったのか」という算定根拠を、数式1本で説明できるようになります。

AVERAGEIF 条件付き平均 - 経費精算リストから特定の科目だけをAVERAGEIFで抽出し、平均額を表示している画面
経費精算リストから特定の科目だけをAVERAGEIFで抽出し、平均額を表示している画面

在庫管理における型番別の平均在庫金額を瞬時に把握するテクニック

物流や在庫管理の担当者にとって、商品数(SKU)が膨大になる中で「適正在庫」を維持することは至上命題です。AVERAGEIF関数を使えば、商品カテゴリや倉庫拠点ごとの在庫水準を多角的に分析できます。

倉庫拠点ごとの平均在庫日数の算出

「A倉庫」「B倉庫」と拠点が分かれている場合、それぞれの平均在庫滞留日数を算出します。
「=AVERAGEIF(倉庫列, “A倉庫”, 滞留日数列)」
拠点ごとの効率性を比較することで、物流フローの最適化や、不動在庫(デッドストック)の削減に向けた具体的なアクションが可能になります。

商品カテゴリ(型番グループ)別の在庫金額分析

製品型番が「K-100」「K-200」のようにシリーズ化されている場合、特定のシリーズ(例:Kシリーズ)全体の平均在庫金額を把握することが重要です。この際、後述するワイルドカードを活用することで、特定の文字列を含む型番を一括で集計対象に含めることができます。

実務でよく見かける「単位の不一致」による失敗

在庫管理の現場で初心者がつまずきやすいのが、単位の混在です。「箱」単位と「個」単位が混ざったデータに対してAVERAGEIF関数を使っても、意味のある数字は出ません。集計前に単位を揃えるか、作業列を作って換算後の数値を計算しておくことが、分析結果を誤らせないための鉄則です。

ワイルドカードとセル参照を組み合わせて検索条件を動的に変更する応用

AVERAGEIF関数の真骨頂は、曖昧な条件指定が可能になる「ワイルドカード」の使用にあります。これを使えば、「完全に一致するデータ」だけでなく、「特定の文字を含むデータ」の平均値を自由自在に操れるようになります。

アスタリスク「」を活用した部分一致の集計

例えば、商品名のリストに「ノートパソコン(スタンダード)」「ノートパソコン(プロ)」「デスクトップPC」といった項目がある場合、「ノートパソコン」という言葉を含むものだけを平均したい場合があります。
「=AVERAGEIF(範囲, “ノートパソコン“, 平均対象範囲)」
このように「」を末尾につけることで、「ノートパソコン」で始まるすべてのアイテムを対象にできます。

疑問符「?」による特定の文字数の指定

「?」は任意の1文字を表します。例えば、社内コードが4桁で、最初の2桁が「AB」で始まるもののみを対象にしたい場合は、「AB??」という条件指定が有効です。これにより、データの命名規則に従った高度な抽出が可能になります。

実務で必須となる「セル参照+ワイルドカード」の構文

実務で最も多用されるのは、セルに入力したキーワードにワイルドカードを結合させる手法です。
「=AVERAGEIF(A:A, “
” & E1 & ““, C:C)」
このようにアンパサンド(&)で結合することで、E1セルに「東京」と入れれば「東京支店」「東京営業所」などを含むすべての平均値が出せます。初心者が間違いやすいのは、引用符(”)の使い方です。セル参照自体を引用符で囲んでしまうと、文字通り「E1」という文字列を探しに行ってしまうため注意が必要です。

AVERAGEIF 条件付き平均 - セル参照と&を使ってワイルドカードを組み合わせる数式入力の様子
セル参照と&を使ってワイルドカードを組み合わせる数式入力の様子

「#DIV/0!」エラーを美しく回避してレポートの完成度を高める工夫

AVERAGEIF関数を使っていると、必ず遭遇するのが「#DIV/0!」というエラーメッセージです。これは、条件に一致するデータが一つもなかった場合に発生するエラーですが、そのまま放置すると報告書の見栄えが悪くなるだけでなく、他の数式との連携時にエラーが連鎖する原因となります。

なぜエラーが発生するのか、その根本原因

平均値は「合計 ÷ 件数」で算出されます。条件に一致するデータが0件の場合、件数が0になるため、数学的に不可能な「0による除算」が発生し、このエラーが表示されます。経理の現場では、特定の月に一度も発生しなかった経費科目などを集計しようとした際によく見かけます。

IFERROR関数を組み合わせたスマートな解決策

エラーを消して「0」や「該当なし」と表示させたい場合は、IFERROR関数を外側に被せます。
「=IFERROR(AVERAGEIF(範囲, 条件, 平均対象範囲), 0)」
これにより、データが1件もない場合でも「#DIV/0!」と表示されず、数値の「0」が返るようになります。社内向けのダッシュボードを作成する際は、この設定を忘れると一気に素人感が出てしまうため、必須のテクニックと言えます。

空白を返して視認性を高める方法

「0」と表示させると、本当に計算結果が0だったのか、データがなかったのかの区別がつかない場合があります。その場合は「””」(空白)を返すように設定します。
「=IFERROR(AVERAGEIF(範囲, 条件, 平均対象範囲), “”)」
筆者の経験では、役員に提出する資料などでは、不必要な「0」を排除した方が、本当に重要な数字に目が向きやすくなるため、あえて空白にする手法をよく使います。

注意点: IFERROR関数でエラーを隠しすぎると、入力ミス(綴り間違いなど)でデータが見つからない場合も「0」として処理されてしまい、ミスに気付くのが遅れるリスクがあります。導入時はまず生のエラーを見てから対処しましょう。

ピボットテーブルを使わずに関数で平均を算出するべき3つの場面

Excelには「ピボットテーブル」という強力な集計ツールがありますが、あえてAVERAGEIF関数を使うべき場面が存在します。それぞれのツールの特性を理解し、使い分けることがExcel上級者への入り口です。

特定のフォーマットが決まっている報告書を作成する場合

銀行に提出する試算表や、社内の決まった形式の月次レポートなど、セルの位置が固定されている場合、ピボットテーブルでは柔軟な対応が難しくなります。関数であれば、指定したセルにピンポイントで平均値を表示させることができるため、既存のレイアウトを崩さずにデータを流し込むことが可能です。

データが頻繁に更新され、即座に結果を反映させたい場合

ピボットテーブルは、元データを更新した後に必ず「更新」ボタンを押す手間が発生します。これに対し、関数は再計算が自動で行われるため、数字を入力した瞬間に集計値が動きます。スピードが重視される打ち合わせ中などの集計には、関数が圧倒的に有利です。

他の数式と組み合わせて複雑な判定を行いたい場合

「平均値が〇〇円以上なら『達成』、そうでなければ『未達』」といった、IF関数などとの複雑な連携を行う場合、関数同士の方が相性が良いです。ピボットテーブルの結果を他のセルで二次利用しようとすると、GETPIVOTDATA関数という扱いにくい関数が必要になり、構造が複雑化しがちです。

AVERAGEIF 条件付き平均 - 決まった様式の報告書にAVERAGEIF関数が埋め込まれているレイアウト例
決まった様式の報告書にAVERAGEIF関数が埋め込まれているレイアウト例

Ctrl+Shift+Lフィルタから脱却して動的な集計表を作成する手順

「フィルタをかけて、画面右下のステータスバーで平均を確認する」というやり方。これは初心者から卒業する際、最初に捨てるべき習慣です。この手法は手軽ですが、集計結果を記録に残せず、他者との共有もできません。

ステータスバー確認の限界を知る

ステータスバーに表示される平均値は、コピーしてセルに貼り付けることができません。結局、どこかに数値を手入力することになり、転記ミスを誘発します。筆者も若手時代、この手入力ミスで役員会議の資料を間違え、厳しい指摘を受けた苦い経験があります。

「集計表」シートの作成による構造化

実務では「元データ」シートと「集計表」シートを分けるのがベストプラクティスです。集計表シートに縦に部署名、横に月を並べ、それぞれの交差するセルにAVERAGEIF関数を設定します。
「=AVERAGEIF(元データ!A:A, A2, 元データ!C:C)」
このように設計することで、元データを流し込むだけで全部署・全期間の平均値が一瞬で更新される仕組みが出来上がります。

テーブル機能との組み合わせで範囲指定を自動化

元データを「テーブル(Ctrl+T)」に変換しておくことで、データが増えても範囲指定をやり直す必要がなくなります。
「=AVERAGEIF(T_受注[部署], “営業部”, T_受注[金額])」
このように「構造化参照」を使うことで、数式の意味が日本語で分かりやすくなり、メンテナンス性が飛躍的に向上します。

Googleスプレッドシートとの挙動の違いと複数条件への拡張性

近年、実務現場ではExcelとGoogleスプレッドシートの併用が一般的になっています。AVERAGEIF関数は両者でほぼ同じように使えますが、微妙な挙動の差と、さらに強力な「AVERAGEIFS」への拡張について理解しておきましょう。

スプレッドシートにおけるArrayFormulaとの組み合わせ

Googleスプレッドシート独自の「ArrayFormula」関数を使えば、1つの数式で複数の列や行に対して平均値を一括算出することが可能です。ただし、AVERAGEIF自体は集計関数(複数の値を1つにする)であるため、そのままではArrayFormulaで配列として展開できないといった制約があります。このあたりは、Excel 365の「スピル」機能との共通点も多い部分です。

「かつ(AND)」条件に対応するAVERAGEIFSへのステップアップ

AVERAGEIFは条件が1つだけですが、実務では「営業部 かつ 東京支店」のように複数条件で平均を出したい場面の方が多いでしょう。その際は、末尾に「S」がついた「AVERAGEIFS」関数を使います。
「=AVERAGEIFS(平均対象範囲, 条件範囲1, 条件1, 条件2, 条件2…)」
注意点は、AVERAGEIFと引数の順番が変わり、「平均対象範囲」が最初に来ることです。これはMicrosoft公式ドキュメントでも「混乱しやすい点」として挙げられています。

バージョン別の対応状況:Excel 2019 / 2021 / 365

AVERAGEIF関数自体は古いバージョンのExcelから搭載されており、互換性の心配はほぼありません。ただし、最新のMicrosoft 365環境では、スピル機能によって「ユニークな部署一覧を抽出して、それぞれの平均を自動で出す」といった、より高度な動的集計が可能です。

AVERAGEIF 条件付き平均 - Excel 365のスピル機能を活用し、部署一覧と平均値を一括表示している例
Excel 365のスピル機能を活用し、部署一覧と平均値を一括表示している例

参照:Microsoftサポート「AVERAGEIF関数」
https://support.microsoft.com/ja-jp/office/averageif-%E9%96%A2%E6%95%B0-faec8e2e-0dec-4308-af69-f5576d8ac642

社内研修で頻出する「条件指定」に関する5つのテクニカルFAQ

研修講師を務めていると、受講生から決まって受ける質問があります。これらは実務で誰もが直面する「落とし穴」ですので、あらかじめ対処法を知っておくことでトラブルを回避できます。

Q1:数値が「文字列」として保存されていて計算されません

これは会計システムからエクスポートしたデータでよく発生します。セルの左上に緑の三角マークが出ている場合、それは数値ではなく文字列です。解決策としては、空のセルをコピーして、対象範囲に「形式を選択して貼り付け」→「加算」を行うか、VALUE関数で変換する必要があります。

Q2:日付を条件にする場合、どう書けばいいですか?

「2026/4/1以降」の平均を出したい場合、条件引数は “>=” & DATE(2026, 4, 1) と記述します。直接引用符の中に “>=2026/04/01″ と書いても動作しますが、セル参照と組み合わせる場合は「”>=” & セル番地」という書き方が必須になります。

Q3:0(ゼロ)を含めて平均を出したくないのですが

平均対象の中に、実績がなくて0が入っている場合があります。これを分母に含めると平均が下がってしまいます。この場合は、条件を一つだけ指定できるAVERAGEIFではなく、複数条件を指定できるAVERAGEIFSを使い、「金額列が0より大きい」という条件を追加するのが正解です。

Q4:条件にスペースが入っているとうまくいきません

実務で最も多いミスがこれです。元データの「営業部 」(最後に半角スペース)と、条件の「営業部」は別物と判定されます。TRIM関数を使って余計なスペースを削除するか、ワイルドカードを使って「”営業部“」と指定することで回避できます。

Q5:計算結果が電卓と合いません。なぜでしょうか?

多くの場合、範囲指定が1行ずれているか、非表示になっている行のデータが含まれていることが原因です。AVERAGEIFは、フィルタで隠した行も「条件に合致すれば」集計対象に含みます。見えているものだけを計算したい場合は、SUBTOTAL関数やAGGREGATE関数の出番となります。

明日からの実務に取り入れるための最終チェックリスト

「AVERAGEIF 条件付き平均」をマスターすることは、単に計算が速くなるだけでなく、データを論理的に捉える力を養うことにもつながります。最後にご紹介したテクニックが実務で正しく機能するよう、以下のステップを確認してから実戦に投入してください。

  • 元データが結合セルや空行のない「リスト形式」になっているか確認する
  • 第1引数(条件を探す場所)と第3引数(数値を計算する場所)を逆に指定していないか再チェックする
  • 条件にセル参照を使い、プルダウン(入力規則)で動的に切り替えられる構造を作る
  • ワイルドカード(*)を活用して、表記揺れや部分一致にも柔軟に対応できる数式にする
  • IFERROR関数を外側に配置し、データ0件時の「#DIV/0!」エラー対策を施す

実務において大切なのは、関数の名前を覚えることではなく、その関数を使って「どのようなビジネス上の問い(特定の部署の傾向は?特定の商品の利益率は?)」に答えるかという視点です。今回解説した手法をテンプレートに組み込み、報告の質とスピードを同時に向上させていきましょう。

ステップアップのヒント: AVERAGEIFに慣れたら、次は「AVERAGEIFS」で複数条件に挑戦してみてください。それができれば、Excelでのデータ集計スキルの上位5%に入ることができます。

コメント

タイトルとURLをコピーしました