データベースから条件に合うデータの最大値を求める…DMAX関数

[Excel 2016/2013/2010/2007]

データベース関数のひとつDMAX関数を使用すると、データベース形式の表から条件に合うデータを探して最大値を求められます。データベース形式とは、1行目に列見出し、2行目以降にデータが入力された表のことです。

スポンサーリンク

作例…成績データベースから「男」「物理」の最高点を求める

図1の成績データベースから条件表の条件に合うデータを探し、該当データの「得点」の最大値を求めます。

DMAX関数の引数[データベース]に成績データベースのセル「A2:E10」、[フィールド]に「得点」の文字が入力されているセル「E2」、[条件]に条件表のセル「A13:E14」を指定します。

[データベース]から[条件]に合うデータを探して[フィールド]列の最大値を求める
=DMAX(データベース, フィールド, 条件)

セルG14 | =DMAX(A2:E10,E2,A13:E14)

図1 DMAX関数を使用して、「男」「物理」の「得点」(★印)の最大値を求める。

注意

文字列の「完全一致条件」の注意
図1では条件として「男」「物理」と入力していますが、この条件の実際の意味は「男で始まる」「物理で始まる」です。正確に「男」「物理」を抽出するには、「=男」「=物理」という条件を指定する必要があります。詳しくは「データベース関数で文字列の完全一致条件を指定する」を参照してください。

関数解説…DMAX関数

=DMAX(データベース, フィールド, 条件)

データベース]から[条件]に合致するデータを探し、見つかった行の[フィールド]列のデータの最大値を求めます。条件に合致するデータが見つからない場合は、「0」が返されます。

引数

引数 指定 説明
データベース 必須 データベースのセル範囲を指定する。1行目に列見出しを入力しておくこと
フィールド 必須 集計対象の列見出しの文字列を指定するか、データベースの左端から数えた列番号を指定する
条件 必須 条件表のセル範囲を指定する。1行目に列見出しを入力しておくこと

メモ

データベース関数
「データベース関数」には、DSUM関数(合計)、DAVERAGE関数(平均)、DCOUNT関数(数値の個数)、DCOUNTA関数(データの個数)、DMAX関数(最大)、DMIN関数(最小)などがあります。いずれも[データベース][フィールド][条件]の3つの引数を持ちます。

引数[フィールド]の指定方法

引数[フィールド]には、集計対象の列見出しが入力されているセルを指定するか(式1)、列見出しの文字列をダブルクォーテーション「”」で囲んで指定するか(式2)、データベースの左端列を「1」として数えた列番号を指定します(式3)。

式1 | =DMAX(A2:E10,E2,A13:E14)
式2 | =DMAX(A2:E10,"得点",A13:E14)
式3 | =DMAX(A2:E10,5,A13:E14)

引数[条件]の指定の注意

1行目に列見出しを入力する

データベース関数では、条件の対象とする列を、条件表の1行目に入力された列見出しで判断します。条件表の1行目には、必ずデータベースの列見出しと同じ文字列を入力してください。

AND条件は同じ行、OR条件は異なる行に入力する

図2条件表1のように複数の条件を同じ行に入力すると、「条件A、かつ、条件B」という意味のAND条件になります。条件表2のように複数の条件を異なる行に入力すると、「条件A、または、条件B」という意味のOR条件になります。詳しくは、「データベース関数でAND条件/OR条件を指定する」を参照してください。

図2 AND条件は同じ行、OR条件は異なる行に入力。

空白セルはOK、空白行はNG

引数[条件]に指定する条件表の条件欄に、空白セルがあってもかまいません。図3条件表1では「列見出し1」「列見出し3」の条件欄が空白ですが、問題ありません。条件表1条件表2は同じ条件を表します。

ただし、条件表の1行まるごと空白にしてしまうと、データベースの全データが集計されるので注意してください。例えば、条件表3では、「条件A」「条件B」が無視され、データベースの全データが集計対象となります。

図3 条件表1条件表2は同じ条件を表す。条件表3では「条件A」「条件B」が無視され、データベースの全行が集計される。

メモ

データベース関数の条件の指定方法
条件の指定方法は、次のページを参考にしてください。
スポンサーリンク

関連記事