複数の条件指定で平均値を出すDAVERAGE関数

ANDとORの複合条件例2

使用関数:DAVERAGE

「DAVERAGE」はAND条件、OR条件、その複合条件など複雑な条件指定に対応して、平均値を求める関数です。その基本的な使い方、条件表の作成例を図解します。

DAVERAGEの構成

DAVERAGE(ディーアベレージ)は表から条件に一致するデータを取り出して平均値を算出します。DATABASEの頭文字「D」を冠したデータベース関数の一つです。

データベース関数は「関数ライブラリ」に載っていないので、引数のダイアログを開く時は「関数の挿入」ボタンをクリックします。
関数の挿入ボタン
関数の挿入」が開いたら「関数の分類」ボックスの▼を押して下へスクロールし、「データベース」をクリックします。
関数の挿入ダイアログで関数の分類をデータベースにする
関数名」の一覧が「データベース」配下のものに切り替わるので、「DAVERAGE」を選択し、「OK」。
関数名の一覧からDAVERAGEを選択
DAVERAGE関数の引数ダイアログが開きます。データ関数の引数は一律に「データベース」「フィールド」「条件」の3つです。
DAVERAGEの引数「データベース」「フィールド」「条件」

データベース」はデータベース仕様で作られた表のことです。

データベース仕様で作った表は、テーブル化しておきましょう。

テーブル機能の使い方・完全ナビ

この引数は列見出しも含めて表を指定します。
フィールド」は表の列見出しのこと。集計するデータ範囲ではなく、集計する列の見出しのセルだけを指定します。
条件」は値の検索条件です。これは別に「条件表」を作って、その範囲を指定します。

下の例は「30代男性の平均体重」を求める引数「データベース」「フィールド」「条件」の範囲です。
「データベース」「フィールド」「条件」の範囲
ダイアログでの指定はこう↓なります。
DAVERAGE関数のダイアログでの指定
数式です。=DAVERAGE(A1:F14,F1,H1:J2)
測定表から30代の男性体重を抜き出して平均値を求める」
※「データベース」も「条件」も必ず列見出しまで含めて指定しましょう。これをうっかりしてエラーになるケースが多いようです。

AVERAGEIF、AVERAGEIFSとの違い

検索条件を指定して平均を算出する関数なら、AVERAGEIFがよく使われます。複数の条件指定はAVERAGEIFSを使います。この2つの関数とDAVERAGEの一番大きな違いは「条件表」を作るか作らないかです。

条件表」とは検索条件を入力したセル範囲です。DAVERAGEでは、これをシート上に予め作っておいて、そのセル範囲を3番目の引数「条件」に指定します。この表を作ることでOR条件の指定やAND・OR複合条件の指定が可能になり、複雑な条件で平均を算出することができるのです。

「条件表」の作り方と複数条件の指定方法

「列見出し」と「条件」を表形式で並べる
条件表には条件を検索する元表の列(フィールド)と対応する「列見出し」を置きます。「性別」フィールドの値を条件にするなら同じ「性別」という列見出しを作り、その下のセルに条件を入力します。同じ列見出しを複数並べることもできます。
「元表」と「条件表」の列見出しの文字は完全に一致している必要があります。
元表と条件表の列見出しの文字は完全に一致させる

DAVERAGE関数ではAND条件とOR条件のどちらも指定できますが、条件表の並べ方にルールがあります。

AND条件

指定した全ての条件に一致する値を取り出す「AND条件」は同じ行に並べます。

前章の例で使った「30代男性の平均体重」という条件表は横並びのAND条件です。男性であり、30歳以上と40歳未満であるという条件を全て満たしている必要があります。
横並びのAND条件表

OR条件

指定した条件のどちらかが一致する値を取り出す「OR条件」は行をずらして縦方向に並べます。

異なるフィールドでOR条件を指定する条件表
「1次試験」と「2次試験」の2つの異なるフィールドに指定する「1次試験と2次試験のどちらかの点数が350点以上」というOR条件は、行を1段ずらして入力します。
異なるフィールドでOR条件を指定する条件表

同一のフィールドでOR条件を指定する条件表
売上表を元に、「担当」フィールドに「担当者A」または「担当者B」というOR条件を指定する場合は、同じ列に縦方向に並べます。
同一のフィールドでOR条件を指定する条件表

ANDとORの複合条件

AND条件とOR条件を組み合わせる例です。
「担当者AとBのWEB制作売上平均」を求める「(AND)担当者AのWEB制作(OR)または、「(AND)担当者BのWEB制作
ANDとORの複合条件例1

「担当者Aのロゴ・キャラクター売上平均」を求める「(AND)担当者Aのロゴ(OR)または、「(AND)担当者Aのキャラクター
ANDとORの複合条件例2

まとめ
  • DAVERAGE関数はデータベースから条件に一致するデータを取り出して平均を出す
  • 関数ライブラリにはないので、「関数の挿入」から操作する
  • 引数「データベース」と「条件(条件表)」は列見出しを含めて指定する
  • 引数「フィールド」は列見出しそのものを指定。データは含めない
  • 引数「条件」には検索条件を入力したセル範囲の「条件表」を作って指定する
  • 条件表のAND条件は同じ行に並べる
  • 条件表のOR条件は異なる行に並べる
  • 条件表に同じ列見出しを複数並べて条件指定できる
タイトルとURLをコピーしました