
The Excel DGET function gets a single value in a given field from a record that matches criteria. DGET will throw the #NUM error if more than one record matches criteria.
Get value from matching record
The value in a given field
=DGET (database, field, criteria)
The Excel DGET function gets a single value from a given field in a record that matches 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 value from the field "Total" in a record where color is "red" and "Day" is Tue with either of the two formulas below:
=DAVERAGE(B7:E14,"Total",B4:E5) // field by name=DAVERAGE(B7:E14,4,B4:E5) // field by index
The DGET function is designed to extract a single value based on matching criteria. When more than one record matches criteria, DGET will throw the #NUM error.
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.
The criteria range for DAVERAGE 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:

The Excel DGET function gets a single value in a given field from a record that matches criteria. DGET will throw the #NUM error if more than one record matches criteria.
Get value from matching record
The value in a given field
=DGET (database, field, criteria)
The Excel DGET function gets a single value from a given field in a record that matches 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 value from the field "Total" in a record where color is "red" and "Day" is Tue with either of the two formulas below:
=DAVERAGE(B7:E14,"Total",B4:E5) // field by name=DAVERAGE(B7:E14,4,B4:E5) // field by index
The DGET function is designed to extract a single value based on matching criteria. When more than one record matches criteria, DGET will throw the #NUM error.
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.
The criteria range for DAVERAGE 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: