Summary

The Excel DMAX function returns the maximum value in a field, from a set of records that match criteria. Use the DMIN function to get the minimum value.

Purpose 

Get max from matching records

Return value 

The maximum value in a given field

Syntax

=DMAX(database,field,criteria)
  • database - Database range including headers.
  • field - Field name or index to count.
  • criteria - Criteria range including headers.

How to use 

The Excel DMAX function gets the maximum value in a given field from a set of records that match criteria. The database argument is a range of cells that includes field headers, field is the name or index of the field to get a max value from, and criteria is a range of cells with headers that match those in database. 

Using the example above, you can get the maximum value from the field "Price" for records where the color is "Red" and quantity is > 2 with these formulas:

=DMAX(B7:E14,"Price",B4:E5) // field by name
=DMAX(B7:E14,2,B4:E5) // field by index

Criteria options

The criteria can include a variety of expressions, including some wildcards. The table below shows some examples:

Criteria Behavior
Red Match "red" or "RED"
Re* Begins with "re"
10 Equal to 10
>10 Greater than 10
<> Not blank
<>100 Not 100
>12/19/2017 Greater than Dec 19, 2017

Note: it appears support for wildcards is not as extensive as with other functions like COUNTIFS, SUMIFS, MATCH, etc. For example, the pattern ??? will match strings with 3 exactly characters in more modern functions, but not in the database functions. If you are using wildcards, test carefully.

Multi-row criteria

The criteria range for DMAX can include more than one row below the headers. When criteria includes more than one row, each row is joined with OR logic, and the expressions in a given criteria row are joined with AND logic.

Notes:

  • DMAX supports some wildcards in criteria
  • Criteria can include more than one row (as explained above)
  • The field argument can be supplied as a name in double quotes ("") or as a number representing field index.
  • The database and criteria ranges must include matching headers.
Dave Bruns Profile Picture

AuthorMicrosoft Most Valuable Professional Award

Dave Bruns

Hi - I'm Dave Bruns, and I run Exceljet with my wife, Lisa. Our goal is to help you work faster in Excel. We create short videos, and clear examples of formulas, functions, pivot tables, conditional formatting, and charts.