今回紹介するのは、Excelの関数の中でもデータベース関数と呼ばれる「DMAX関数」。
DMAXは関数の種類として「データベース関数」に分類され、Excelシートのデータをより効率的に抽出することができる関数です。
具体的には、対象のデータ群からある条件に基づいた最大値を抽出することができます。
たとえば、天候も含まれた入場者数データの中から天気が「雨」の日の最大入場者数、全生徒の全試験結果データの中から教科「数学」の最高得点。活用方法は様々です。
この記事では、指定された条件に基づき最大値を取得するDMAX関数の使い方と実例を紹介します。
DMAX関数の使い方
DMAX関数はデータベース関数ということもあり、説明に聞き慣れない言葉も出てきますので、先に概要を説明しておきます。
DMAX関数の概要
DMAX関数では、合計計算の対象のすべてのデータ群のことを「データベース」として認識します。
また、実際に合計計算する列の見出しのことを「フィールド」と呼びます。この「データベース」と「フィールド」という言葉はデータベース関数では重要な定義になりますので、覚えておきましょう。
下記のExcelシートには、日付と天候、入場者数が入力されています。このシートで「天候」を条件にして、最大入場者数を抽出する場合、データベースとフィールドは次のようになります。
まず、「データベース」は基本的にすべてのデータ群のことを指しますので、セルA1:D11がデータベースの範囲になります。(青枠)
次に、「フィールド」は実際に合計計算をする列の見出しのことを指しますので、セルC1がフィールドになります。(赤枠)
重要なのは、「データベース」は各列のタイトル行(ラベル)を含み、フィールドはタイトル行(ラベル)そのものを指定する点です。ここはデータベース関数の特徴となりますので、認識しておきましょう。
DMAX関数の関連付け
DMAX関数では、データベースと抽出する条件の関連付けが必要です。
もう一度、下記のサンプルをご覧ください。
このExcelシートでは[セルF4]に天候を入力することで、入力された天候を抽出条件としてテーブルから最大入場者数を抽出することができます。
たとえば、天候に「雨」と入力すると、データベース内のC列が「雨」のデータのD列の最大値が抽出される仕組みです。
そして、[セルF4]とC列を関連付けているのが、お互いのタイトル行(ラベル)に書かれた『天候』という文字なのです。この文字が完全一致していないと関連付けはされません。
ここはDMAX関数を扱ううえで、非常に大切な概念です。
DMAX関数の使い方
数式
=DMAX(データベース範囲,フィールド,条件範囲)
例:=DSUM(A1:E11,C1,G2:H3)
DMAX関数の使い方は上記の通りです。前節までに説明した通り、データベース範囲にタイトル行を含めたデータ全体を、フィールドに最大値を抽出する列のタイトル行を指定します。
そして、条件範囲にデータベースから最大値を抽出するための条件を入力する範囲を指定します。ここでもタイトル行を含める必要があります。
DMAX関数の実例(基本)
下記のExcelシートでは、DMAX関数が使われています。
抽出条件(セルF4)で指定した条件に基づいて、[セルF7]に最大値が抽出されます。
DMAX関数の実例(複数条件)
前節で、DMAX関数の実例を紹介しましたが、DMAX関数は複数の条件を指定することも可能です。
たとえば、天候のみではなく曜日の要素も条件に追加することができるのです。
なお、複数条件の数式に変更しても、従来通り1つの条件だけでも最大値を抽出できますので、使い勝手は変わりません。
複数条件を指定する場合には、条件を入力する箇所を追加して、それぞれにデータベースのタイトル行と一致する見出し(完全一致する文言)を設定する必要があります。
そして、DMAX数式の条件範囲を条件を入力する箇所全体に拡大します。
あとがき
今回は、Excelのデータベース関数DMAXについて記事にしました。
ご覧いただいた通り、DMAX関数はとても効率的に最大値を抽出することができます。簡易的なExcelのデータシートでもデータベースのように素早く任意の最大値を調べるDMAX関数。
ぜひ、ご活用いただければと思います。