Introduction
Ver. all 2013 2016 2019 2021 365
項目ごとに、売上金額の平均を集計したい時などに便利なのがAVERAGEIF関数です。
様々な条件を設定して、その条件に合った場所だけ平均してくれます。
※複数の条件を使用したい場合はExcel2007以降では、AVERAGEIFS関数が使用できるようになりました。
AVERAGEIF関数・・・指定した範囲の中で、条件に合ったデータを平均する
=AVERAGEIF(範囲,条件,[平均対象範囲])
- 範囲・・・検索する範囲全体を指定
- 条件・・・「範囲」で指定したデータと一致させる検索条件を指定
- 平均対象範囲・・・計算したいデータ範囲全体を指定(平均場所が「範囲」と共通の場合は省略可能)
最初はセル参照を使用する方法を紹介して、後半に文字列や日付で検索する方法を説明します。
条件付きの関数は使用する機会が多いにゃ
AVERAGEIF関数の使い方
では、最初は下の表の緑枠で囲んだ「商品区分」ごとにピンク枠で囲んだ「売上金額」を集計してみます。
1つの項目だけ集計する場合は、すぐに関数を使用しても良いのですが、複数の項目で集計する場合は、下のように集計する条件をまとめた表を作成しておくと楽です。
まず、集計結果を表示するセルを選択して、[関数の挿入]ボタンをクリック。
[関数の挿入]ダイアログボックスでは、[すべて表示]か、[統計]に切り替えると探しやすいですよ。
AVERAGEIF関数の引数入力画面が下の画像です。
AVERAGEIF関数・・・指定した範囲の中で、条件に合ったデータを平均する
=AVERAGEIF(範囲,条件,[平均対象範囲])
- 範囲・・・検索する範囲全体を指定
- 条件・・・「範囲」で指定したデータと一致させる検索条件を指定
- 平均対象範囲・・・計算したいデータ範囲全体を指定(平均場所が「範囲」と共通の場合は省略可能)
【ポイント】
条件で、セル参照以外を使用する場合はダブルクォーテーション「”」で囲む必要があります。
では、引数の入力です。今回の場合は、
- [範囲]・・・緑枠で囲んだ「A2:A20」
- [条件]・・・新たに作成した表の「E2」
- [平均対象範囲]にはピンク枠で囲んだ「C2:C20」
今回のやり方では、結果を表示後にオートフィル機能を使用して計算式を下にコピーする予定なので、[範囲]と[平均対象範囲]は「F4」キーを押して絶対参照にするのを忘れないようにする必要があります。
※絶対参照について詳しい説明が必要な方は、Excel(エクセル)で計算する方法 ③|絶対参照の使い方をご覧ください。
[OK]をクリックすれば結果が表示されます。
完成した関数は下のようになります。
=AVERAGEIF($A$2:$A$20,E2,$C$2:$C$20)
あとは、下にコピー。
これで完了です。
小数点以下は非表示にした方が良いですね。
文字で条件を指定するやり方
先ほどの説明は、検索条件に、すでに表に入力されている文字列を使用しました。
直接検索条件で文字列を使用したい場合はダブルクォーテーション「”」で囲む必要があります。
例えば下の表で「新宿営業所」だけの「金額」の平均値を出したい場合は、
下のように条件を指定します。
[条件]・・・「”新宿営業所”」
このように「”」で囲みます。
完成した関数は下のようになります。
=AVERAGEIF(A2:A13,"新宿営業所",C2:C13)
【ポイント】
「?」や「*」のワイルドカードを使用して思い通りの条件を作成することができます。
ワイルドカードとは、類似した情報を持つデータを検索する場合などに使用する、テキストや文字をあらわすものです。
- 「?」・・・任意の1文字を表す
- 「*」・・・任意の複数文字列を表す
例えば1文字目が「新」で始まる営業所を抽出したい場合は、「新*」と入力します。
日付で条件を指定するやり方
日付で条件を指定する場合もダブルクォーテーション「”」で囲む必要があります。
下の表で、4月以降のデータの平均値を出したい場合は、
下の画像のように条件を指定します。
[検索条件]・・・「”>=2018/4/1″」
このように指定します。
完成した関数は下のようになります。
=AVERAGEIF(A2:A13,">=2018/4/1",C2:C13)
月日だけでも検索できますが、ミスを防ぐため西暦で年月日全てを入力するようにしましょう。
【例】
- 以降の場合・・・”>=2018/4/1″
- 以前の場合・・・”<=2018/4/1″
- 当日以降の場合・・・”>=”&TODAY()
まとめ
エクセルでは、集計する機能がたくさん用意されています。
「ピボットテーブル」や「統合」機能や「集計」機能など。それぞれ
必要に応じて関数を使用するか、機能で対応するか考えたいですね。
また、最初にも書きましたが、複数の条件が必要であれば2007以降のバージョンを使用している場合は「AVERAGEIFS関数」を使用しましょう。
出番の多い関数だにゃ