データベース

複数の条件に一致するデータの最大値を求めるDMAX関数

DMAX関数

Googleスプレッドシートで指定したデータ範囲内で複数条件に一致するデータの最大値を求める時は、DMAX関数を使用します。

類似の関数としてMAXIFS関数があります。
この関数は、条件の入れ方が異なりますが、データも条件も同じならどちらの関数を使用しても同じ結果になります。

スプレッドシートのDMAX関数の使い方

Sample

性別が「男」でクラスが「1」の生徒の最高点を表示する

DMAX関数の使い方

2つの条件に一致する最大値を求める

性別が「男」の中でクラスが「1」の生徒の最高点を表示するには以下のような数式を入力します。

1. 最高点を表示させたいセルを選択します。
(今回はセルH4)

2. =DMAX(A3:D13,D3,F3:G4) と入力します。

DMAX関数の使い方

  • データベース:データの範囲を見出し含めて選択する。
  • フィールド:選択したデータベース内の最大値を求める列見出しのセルを指定
  • 条件:条件を入力したセル範囲(F3からG4)

=DMAX(A3:D13,D3,F3:G4)

上記の条件(男でクラスが1)に一致した生徒の最高点は「85点」ということがわかりました。

データベース、条件で指定するセル範囲には必ず項目名を入れます。

さらに条件で使用する項目名は、データベースにある項目名と同じである必要があります。

違う項目名になっていると条件が正しく認識されません。

他にもデータベース関数は複数あり、計算方法が異なりますが数式の入力方法は同じなので、1つ覚えれば他のデータベース関数もすぐに理解することができます。

  • DSUM:合計を求める
  • DAVERAGE:平均を求める
  • DCOUNT:件数を求める
  • DCOUNTA:件数を求める
  • DMAX:最大値を求める
  • DMIN:最小値を求める

DMAX関数とMAXIFS関数の違い

条件が同じであれば、DMAX関数、MAXIFS関数どちらを使用しても結果は同じになります。

今回の例ではそれぞれの関数では以下のようになります。

DMAXの式

=DMAX(A3:D13,D3,F3:G4)

DMAX関数は条件がいくつあっても、1つのセル範囲として指定しています。

MAXIFSの式

=MAXIFS(D4:D13,B4:B13,F4,C4:C13,G4)

MAXIFS関数は条件ごとにセル範囲と条件を追加で指定します。
そのため、条件が多いほど数式がどんどん長くなります。

条件が多いほどMAXIFS関数は数式が長くなり、内容を確認するのに時間がかかります。

DMAX関数はシート内に表形式で条件を指定しているため、条件が増えた時にはセル範囲を拡げる必要はあっても、数式が長くなることはありません。

条件が多いほどDMAXの方がわかりやすいことが実感できると思います。

MAXIFS関数
条件に一致するデータ内の最大値を求めるMAXIFS関数条件に一致するデータの中から最大値を求めるGoogleスプレッドシートのMAXIFS関数の使い方。条件が1つでも2つ以上でもMAXIFS関数を使用します。...

スプレッドシートのDMAX関数の構文

スプレッドシートのDMAX関数は以下のように入力します。

=DMAX(データベース,フィールド,条件)
引数説明
データベースデータの範囲を見出し含めて選択する。
フィールド選択したデータベース内の最大値を求める列見出しのセルを指定。
条件 条件を入力したセル範囲を選択する。