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.