Database
DGET Function in Excel
Extracts a single value from a database that matches specified criteria.
Syntax
- =DGET(database, field, criteria)
Arguments
- database (required): Range including headers
- field (required): Column to return (name or number)
- criteria (required): Range with criteria headers and values
Examples
- =DGET(A1:D10, "Price", F1:F2) - Get single matching value - Result: Value
D-functions vs DGET
- Database functions use a criteria range with headers matching your list.
- For simple AND criteria [SUMIFS](/functions/sumifs/) may be easier to audit.
- Compare [SUMIF vs SUMIFS](/compare/sumif-vs-sumifs/) for reporting patterns.
Common errors
- #VALUE! if no match
- #NUM! if multiple matches
Use cases
- Single record lookup
- Unique value extraction
- Database queries
Frequently asked questions
- When should I use DGET instead of VLOOKUP? Use DGET when you need to match multiple criteria. VLOOKUP only matches one column. DGET can match on multiple fields: set up criteria with multiple columns like Name="John" AND Department="Sales" to find a unique record.
- Why does DGET return #NUM! error? DGET returns #NUM! when multiple records match your criteria. DGET is designed for unique lookups. Either make your criteria more specific to match only one record, or use DSUM/DAVERAGE if you want to aggregate multiple matches.
- How do I set up the criteria range for DGET? Create a range with headers matching your database columns. Below each header, enter the criteria value. For "Sales" in Region column: put "Region" in F1, "Sales" in F2. Multiple columns = AND logic, multiple rows = OR logic.
Editorial review
- Reviewed by Excel.Directory Editorial Team. Updated May 2026.