DAVERAGE 関数

DAVERAGE 関数

Excel for Microsoft 365 Excel for Microsoft 365 for Mac Excel for the web Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2019 for Mac Excel 2016 Excel 2013 その他…表示数を減らす

ここでは、Microsoft Excel の DAVERAGE 関数の書式および使用法について説明します。

説明

リストまたはデータベースのレコードで指定されたフィールド (列) を検索し、条件を満たすレコードの平均値を返します。

書式

DAVERAGE(データベース, フィールド, 検索条件)

DAVERAGE 関数の書式には、次の引数があります。

  • データベース リストまたはデータベースを構成するセル範囲を指定します。 データベースは、行 (レコード) と列 (フィールド) にデータを関連付けたリストです。 リストの先頭の行には、各列の見出しが入力されている必要があります。

  • フィールド 関数の中で使用する列を指定します。 フィールドには、半角の二重引用符 (") で囲んだ "樹齢" や "歩どまり" などのような文字列、またはリストでの列の位置を示す引用符なしの番号 (1 番目の列を示す場合は 1、2 番目の列を示す場合は 2) を指定します。

  • 検索条件 指定した条件が設定されているセル範囲を指定します。 列見出しと検索条件を指定するセルが少なくとも 1 つずつ含まれている場合は、検索条件に任意のセル範囲を指定できます。

解説

  • セル範囲に検索条件を入力し、検索条件を表す引数として使用することができます。検索条件範囲には、列見出しとその下のセルがそれぞれ 1 つ以上含まれている必要があります。

たとえば、セル範囲 G1:G2 のセル G1 に "収入" という列見出し、セル G2 に 10,000 という数値が入力されている場合、このセル範囲に "年収額" という名前を定義して、データベース関数の検索条件の引数として指定することができます。

  • 検索条件はワークシートの任意の範囲に入力することができますが、リストの最終行の次の行は使用しないでください。 リストにデータを追加すると、そのデータはリストの最終行の次の行に追加されます。 リストのすぐ下の行にデータが入力されていると、新しいデータを追加できません。

  • 検索条件範囲がリストと重なり合っていないことを確認します。

  • データベース内の列全体に対して検索条件を指定するには、検索条件範囲の列見出しの下に空白行を 1 行挿入します。

使用例

次の表のサンプル データをコピーし、新しい Excel ワークシートのセル A1 に貼り付けます。 数式を選択して、F2 キーを押し、さらに Enter キーを押すと、結果が表示されます。 必要に応じて、列幅を調整してすべてのデータを表示してください。

高さ樹齢収穫高利益高さ
=りんご>10<16
=梨
高さ樹齢収穫高利益
りんご182014105
12121096
さくらんぼ13149105
りんご14151075
98876.8
りんご89645
数式説明結果
=DAVERAGE(A4:E10, "歩どまり", A1:B2)樹高が 10 以上のりんごの木の歩どまりの平均値を求めます。12
=DAVERAGE(A4:E10, 3, A4:E10)上のデータベース内のすべての木の平均樹齢を求めます。13

検索条件の例

  • セルに等号を入力すると、数式であることが示されます。 等号を含む文字列を表示するには、文字列と等号を二重引用符で囲みます。

"=西脇"

式 (数式、演算子、および文字列の組み合わせ) を入力する場合や計算に使用しない等号を表示する場合も二重引用符で囲みます。 次に例を示します。

=”= 入力内容

入力内容 には、検索する文字列または値を指定します。 次に例を示します。

セルに入力する内容Excel による評価と表示
="=西脇"=西脇
="=3000"=3000
  • テキスト データの抽出では、大文字と小文字は区別されません。 ただし、特定の数式を使用すると、大文字と小文字を区別した検索を実行できます。 具体的な例については、後述の「大文字と小文字を区別して文字列を抽出する」を参照してください。

次のセクションでは、複雑な検索条件の例を紹介します。

1 つの列に複数の検索条件を指定して、いずれかに一致するデータを抽出する

論理式: (販売員 = "西脇" OR 販売員 = "吉田")

1 つの列に複数の検索条件を指定して、いずれかに一致するデータを抽出する場合、同じ列の個別の行に検索条件を入力します。

次のようにデータ範囲 (A6:C10) と検索条件 (B1:B3) を指定すると、販売員が "西脇" または "吉田" であるすべての行が表示されます (A8:C10)。

****ABC
1種類営業担当者売上
2=西脇
3=吉田
4
5
6種類営業担当者売上
7飲料須山¥5,122
8肉類西脇¥450
9農産物吉田¥6,328
10農産物西脇¥6,544

複数の列に検索条件を指定して、すべてに一致するデータを抽出する

論理式: (種別 = "農産物" AND 売上 > 1000)

複数の列に検索条件を指定して、すべてに一致するデータを抽出する場合、同じ行に検索条件を入力します。

次のようにデータ範囲 (A6:C10) と検索条件範囲 (A1:C2) を指定すると、種別が "農産物" で売上が 1,000 より大きいすべての行が表示されます (A9:C10)。

****ABC
1種類営業担当者売上
2=農産物>1000
3
4
5
6種類営業担当者売上
7飲料須山¥5,122
8肉類西脇¥450
9農産物吉田¥6,328
10農産物西脇¥6,544

複数の列に検索条件を指定して、いずれかの条件に一致するデータを抽出する

論理式: (種別 = "農産物" OR 販売員 = "西脇")

複数の列に検索条件を指定して、いずれかの条件に一致するデータを抽出する場合、別々の行に検索条件を入力します。

次のようにデータ範囲 (A6:C10) と検索条件 (A1:B3) を指定すると、種別が "農産物" であるか、販売員が "西脇" であるすべての行が表示されます (A8:C10)。

****ABC
1種類営業担当者売上
2=農産物
3=西脇
4
5
6種類営業担当者売上
7飲料須山¥5,122
8肉類西脇¥450
9農産物吉田¥6,328
10農産物西脇¥6,544

複数の列を対象とする 2 セット以上の検索条件を指定して、一致するデータを抽出する

論理式: ( (販売員 = "西脇" AND 売上 >3000) OR (販売員 = "吉田" AND 売上 > 1500) )

複数の列を対象とする 2 セット以上の検索条件を指定して、一致するデータを抽出するには、個別の行に検索条件セットを入力します。

次のようにデータ範囲 (A6:C10) と検索条件範囲 (B1:C3) を指定すると、販売員が "西脇" で売上が 3,000 より大きい行、または、販売員が "吉田" で売上が 1,500 より大きい行が表示されます (A9:C10)。

****ABC
1種類営業担当者売上
2=西脇>3000
3=吉田>1500
4
5
6種類営業担当者売上
7飲料須山¥5,122
8肉類西脇¥450
9農産物吉田¥6,328
10農産物西脇¥6,544

1 つの列を対象とする 2 セット以上の検索条件を指定して、一致するデータを抽出する

論理式: ( (売上 > 6000 AND 売上 < 6500 ) OR (売上 < 500) )

1 つの列を対象とする 2 セット以上の検索条件を指定するには、複数の列に同じ列見出しを付けて指定します。

次のようにデータ範囲 (A6:C10) と検索条件 (C1:D3) を指定すると、売上が 6,000 ~ 6,500 である行、および、500 より小さい行が表示されます (A8:C10)。

****ABCD
1種類営業担当者売上売上
2>6000<6500
3<500
4
5
6種類営業担当者売上
7飲料須山¥5,122
8肉類西脇¥450
9農産物吉田¥6,328
10農産物西脇¥6,544

一部の文字だけが一致している文字列を検索する

一部の文字だけが一致する文字列を検索するには、次のいずれかを行います。

  • 特定の文字または文字列から始まる文字列値を含む行を検索するには、等号 (=) を使用せずにその文字または文字列を入力します。 たとえば、検索条件として「西 」と入力すると、"西脇"、"西田"、"西崎" などが検索されます。

  • ワイルドカード文字を使用します。

比較検索条件として、次のワイルドカード文字を使用できます。

入力する文字列検索対象
? (疑問符)任意の 1 文字

たとえば、「インターフェ?ス」と入力すると "インターフェイス" や "インターフェース" が検索されます。

  • (アスタリスク) | 任意の数の文字
    たとえば、「Win」と入力すると "Win98" や "Win2000" が検索されます。
    ˜ (チルダ) (?、
    、または ˜ の前に入力) | 疑問符、アスタリスク、またはチルダ
    たとえば、「fy91~?」と入力すると、 "fy91?" が検索されます

次のようにデータ範囲 (A6:C10) と検索条件 (A1:B3) を指定すると、種別が "肉" で始まるか、販売員列の 2 文字目が "山" である行が表示されます (A7:C9)。

****ABC
1種類営業担当者売上
2
3=?山*
4
5
6種類営業担当者売上
7飲料須山¥5,122
8肉類西脇¥450
9農産物吉田¥6,328
10農産物西脇¥6,544

数式の計算結果を検索条件として指定する

数式の計算結果を検索条件として使用できます。 次の点に注意してください。

  • TRUE または FALSE に評価される数式しか使用できません。

  • 数式は通常と同じように入力する必要があります。次のような式を入力することはできません。

=”= 入力内容

  • 列見出しを検索条件のラベルに指定することはできません。検索条件のラベルを指定しないか、セル範囲内の列見出しとは異なるラベル (以降の例では、"平均値評価" と "完全一致") を指定します。

数式には、相対セル参照や範囲名の代わりに列ラベルを指定することができます。 列ラベルを使用すると、検索条件を入力したセルに "#NAME?"、#VALUE! などのエラー値が表示されます。 このエラーはリスト範囲のフィルター処理の結果には影響しないため、無視してかまいません。

  • 条件として使用する数式は、先頭行の対応するセル (以降の例では C7 や A7) を相対参照する必要があります。

  • それ以外の参照には、絶対参照を使用します。

以降のサブセクションでは、数式の結果を検索条件に用いる例を紹介しています。

データ範囲のすべての値の平均より大きい値を抽出する

次のようにデータ範囲 (A6:D10) と検索条件範囲 (D1:D2) を指定すると、売上列が、すべての売上 (C7:C10) の平均を超えている行が表示されます。 数式の中で "C7" は、データ範囲における抽出列 (C 列) の先頭行 (7 行目) を参照しています。

****ABCD
1種類営業担当者売上平均値評価
2=C7>AVERAGE($C$7:$C$10)
3
4
5
6種類営業担当者売上
7飲料須山¥5,122
8肉類西脇¥450
9農産物吉田¥6,328
10農産物西脇¥6,544
大文字と小文字を区別して文字列を抽出する

次のようにデータ範囲 (A6:D10) と検索条件範囲 (D1:D2) を指定し、EXACT 関数を使用すると、大文字と小文字を区別した検索が実行され、種別列が "農産物" である行が表示されます (A10:C10)。 数式の中で "A7" は、データ範囲における抽出列 (A 列) の先頭行 (7 行目) を参照しています。

****ABCD
1種類営業担当者売上完全一致
2=EXACT(A7, "農産物")
3
4
5
6種類営業担当者売上
7飲料須山¥5,122
8肉類西脇¥450
9農産物吉田¥6,328
10農産物西脇¥6,544
上部へスクロール