Resumen —
DGET(database, field, criteria)devuelve el único valor de una columna donde tu rango de criterios coincide con exactamente una fila. Su jugada característica es que da error a propósito:#NUM!cuando coincide más de una fila,#VALUE!cuando no coincide ninguna. Todo el mundo se los encuentra como si fueran fallos; son la función. Donde VLOOKUP devuelve en silencio el primero de varios duplicados,DGETse niega y te dice que tu clave «única» no lo es. Y como las condiciones viven en una tabla de criterios,DGEThace búsquedas de varias columnas (Region y Product) sin columna auxiliar. Recurre a ella cuando debería haber exactamente una coincidencia y quieres que Excel lo demuestre. Funciona en todas las versiones de Excel.
=DGET(A1:E200, "Amount", H1:H2) ' el Amount de la única fila que coincide con H1:H2
=DGET(A1:E200, "Rep", H1:I2) ' dos condiciones (H1:I2) = una búsqueda Y, sin columna auxiliar
=IFERROR(DGET(A1:E200, "Amount", H1:H2), "no único / no encontrado") ' a prueba de producción
VLOOKUP y XLOOKUP están hechas para ser indulgentes: les das una clave y te
devuelven lo primero que coincide sin mirar más allá. Eso suele ser lo que
quieres, y de vez en cuando un desastre, porque una clave duplicada devuelve una
respuesta equivocada verosímil sin ningún aviso. DGET tiene el temperamento
opuesto. Da por hecho que la coincidencia es única y se detiene con un error en
cuanto eso deja de ser cierto. Una vez que lo ves como su propósito y no como su
defecto, se convierte en la búsqueda de validación de datos más afilada de Excel.
Nota: en una interfaz de Excel en español, DGET se llama BDEXTRAER. Relacionadas: VLOOKUP = BUSCARV, XLOOKUP = BUSCARX, INDEX = INDICE, MATCH = COINCIDIR, DCOUNT = BDCONTAR, DSUM = BDSUMA, IFERROR = SI.ERROR, FILTER = FILTRAR. Las fórmulas de abajo usan los nombres en inglés; el comportamiento es idéntico.
Lo que aprenderás
- El modelo mental: una búsqueda que afirma la unicidad en lugar de adivinar
- Los tres argumentos, y cómo
DGETreutiliza la idea del rango de criterios #NUM!frente a#VALUE!: los dos errores que sí te están diciendo algo- Búsquedas de varias condiciones (Region y Product) sin el truco de la concatenación
- Cuándo
DGETle gana aXLOOKUP, y los casos en que es la herramienta equivocada - Envolverla con seguridad sin ocultar lo que significan los errores
El modelo mental: la búsqueda que se niega a adivinar
Piensa en DGET como una búsqueda con un contrato: «Hay exactamente una fila que
coincide. Dame un campo de ella.» Si el contrato se cumple, obtienes el valor. Si
no —cero coincidencias, o dos—, DGET no lo va a disimular. Esa única elección de
comportamiento es lo que la separa de cualquier otra búsqueda.
' bloque de criterios H1:H2 — una condición:
' H1: OrderID
' H2: 10248
=DGET(A1:E200, "Amount", H1:H2) ' -> el Amount del pedido 10248, SI ese ID es único
VLOOKUP devolvería tan tranquila el primer pedido 10248 aunque el ID aparezca
tres veces. DGET, en cambio, devuelve #NUM!, que —cuando se supone que
OrderID es una clave primaria— es justo la alarma que quieres. Convierte «busca
esto» en «busca esto y confirma que mi clave es realmente única», gratis.
Los tres argumentos (la misma forma que toda la familia)
=DGET(database, field, criteria), idéntica a
DSUM y DCOUNT:
database— la tabla incluyendo su fila de encabezados (A1:E200). Los encabezados son la vía por la que el campo y los criterios se emparejan con las columnas; omítelos yDGETse rompe.field— la columna de la que devolver un valor, nombrada por el encabezado entre comillas ("Amount"), una celda que lo contiene o un número de columna. El encabezado entre comillas es la opción legible y a prueba de ediciones.criteria— el rango que contiene tu bloque de encabezado y condiciones, exactamente igual que las demás funciones D. Mismas reglas: misma fila = Y, filas apiladas = O, y los encabezados deben coincidir con los datos carácter por carácter.
Todo lo que sabes sobre construir un rango de criterios se traslada tal cual. Lo
único que cambia es la promesa: DGET espera que ese bloque seleccione una
fila.
#NUM! y #VALUE! son toda la gracia
La mayoría de las funciones tienen un solo estado de error. DGET tiene dos, y
significan cosas opuestas: aprender a leerlos es el 90% de usarla bien.
=DGET(A1:E200, "Amount", H1:H2)
' -> el valor : coincidió exactamente una fila (el camino feliz)
' -> #NUM! : coincidió MÁS DE UNA fila — tu clave no es única
' -> #VALUE! : NO coincidió ninguna fila — nada encaja con los criterios
#NUM!significa «demasiadas». Dos o más filas satisfacen tus criterios. Si el campo debía ser una clave única, acabas de encontrar un duplicado que no conocías: un hallazgo genuinamente útil. Si esperabas varias coincidencias,DGETes sencillamente la función equivocada (quieres una suma, un filtro o una búsqueda de primera coincidencia).#VALUE!significa «ninguna». No coincidió nada: una clave mal escrita, un encabezado de criterios que no coincide con los datos o un valor que no está ahí.
Como los dos errores son diagnósticos, resiste la tentación de tragarte ambos con
un IFERROR("") general. «Clave duplicada» y «no encontrado» son problemas
distintos y a menudo merecen un trato distinto.
Búsquedas de varias condiciones, sin columna auxiliar
Aquí es donde DGET, sin hacer ruido, supera en diseño a VLOOKUP. Como las
condiciones viven en una tabla de criterios, añadir una segunda condición es
solo añadir una columna: obtienes una búsqueda Y sin clave auxiliar concatenada.
' Encontrar el Rep de la fila West + Widgets:
' H1: Region I1: Product
' H2: West I2: Widgets
=DGET(A1:E200, "Rep", H1:I2) ' coincide en AMBAS columnas a la vez
El apaño clásico de VLOOKUP para una clave de dos columnas es construir una
columna auxiliar de Region&Product y buscar "West"&"Widgets": frágil y
desordenado. DGET no necesita nada de eso: pon dos encabezados en la fila
superior, dos condiciones debajo, y la coincidencia es Y a lo ancho de la fila. Y
sigues teniendo la garantía de unicidad: si West + Widgets no es único, lo sabrás.
Cuándo DGET le gana a XLOOKUP, y cuándo no
DGET es una especialista, y usarla fuera de su terreno causa la mayor parte de
la frustración que reporta la gente.
Recurre a DGET cuando:
- La coincidencia debería ser única y quieres que se imponga: cuadrar por un número de factura, extraer un único valor de configuración, validar una clave.
- Necesitas una búsqueda Y de varias columnas y prefieres no construir una clave auxiliar.
- Los criterios deben ser visibles y editables en la hoja.
Usa XLOOKUP o INDEX/MATCH en su lugar cuando:
- Se esperan duplicados y quieres la primera coincidencia (o la última), no un
error. Aquí
DGETno hará más que lanzar#NUM!. - Estás copiando la búsqueda hacia abajo por cientos de filas:
XLOOKUPes más ligera que un bloque de criterios por fila. - Necesitas coincidencia aproximada o por cercanía.
DGETes solo de coincidencia exacta.
La prueba de una línea: ¿que haya más de una coincidencia es un error o una
expectativa? Si es un error, DGET es la única búsqueda que lo trata como tal.
Envolverla para producción (sin quedarte a ciegas)
Las fórmulas en producción no deberían mostrar #NUM!/#VALUE! en crudo a los
usuarios finales, pero una captura general tira a la basura el diagnóstico.
Distingue ambos cuando importe:
' Sencillo, cuando ambos problemas significan lo mismo para el usuario:
=IFERROR(DGET(A1:E200, "Amount", H1:H2), "Sin coincidencia única")
' Mejor, cuando duplicado y ausente necesitan un trato distinto:
=IF(DCOUNT(A1:E200, "Amount", H1:H2) = 1,
DGET(A1:E200, "Amount", H1:H2),
IF(DCOUNT(A1:E200, "Amount", H1:H2) = 0, "No encontrado", "¡Clave duplicada!"))
El segundo patrón usa DCOUNT sobre los mismos
criterios para informar de qué fallo ocurrió, convirtiendo el rigor de DGET en
un mensaje claro en lugar de un código de error. Ese es DGET en su mejor
versión: no una búsqueda quisquillosa, sino una búsqueda que hace imposible
ignorar los datos malos.
Cómo ayuda ExcelMaster
DGET premia los bloques de criterios precisos y castiga los descuidados, que es
justo la parte engorrosa. Dile a ExcelMaster «dame el importe del único
pedido de West + Widgets» y construirá la tabla de criterios de dos columnas,
emparejará los encabezados con tus datos y redactará el =DGET(...). Pásale un
DGET que lanza #NUM! y te explicará qué filas chocan, sacando a la luz la
clave duplicada que no sabías que tenías en lugar de limitarse a esconder el
error.
Preguntas frecuentes
¿Por qué DGET devuelve #NUM!?
Porque más de una fila coincide con tus criterios. DGET devuelve exactamente
un valor y trata las coincidencias múltiples como un error, a menudo uno útil,
porque significa que una clave que dabas por única no lo es. Si de verdad esperas
varias coincidencias, usa SUMIFS, FILTER o una búsqueda de primera
coincidencia como XLOOKUP.
¿Por qué DGET devuelve #VALUE!?
Porque no coincide ninguna fila. Las causas habituales son un criterio mal escrito, un encabezado de criterios que no coincide exactamente con un encabezado del rango de datos, o un valor que sencillamente no está en la tabla. Revisa primero cómo está escrito el encabezado: es el culpable más común de todas las funciones de base de datos.
¿En qué se diferencia DGET de VLOOKUP?
VLOOKUP devuelve la primera coincidencia e ignora en silencio cualquier
duplicado. DGET insiste en una única coincidencia y da error (#NUM!) si
hay más de una. DGET también coincide en varias columnas a través de su
rango de criterios, mientras que VLOOKUP necesita una clave auxiliar
concatenada. Usa VLOOKUP/XLOOKUP para búsquedas indulgentes de primera
coincidencia; usa DGET cuando haya que garantizar la unicidad.
¿Puede DGET coincidir en más de una columna?
Sí, es una de sus grandes bazas. Pon cada encabezado en la fila superior del rango
de criterios y cada condición justo debajo, en la misma fila para lógica Y:
Region=West y Product=Widgets en una fila coincide solo con las filas que
cumplen ambas, sin columna auxiliar.
¿Funciona DGET en Excel 2016 y anteriores?
Sí. DGET, como el resto de las funciones de base de datos, lleva décadas en
Excel y se comporta igual en Excel 2016, 2019, 2021 y 365. No hay ninguna trampa
de disponibilidad por versión de la que preocuparse.
Probado en
Probado en: Excel 365 (Windows 11) — última verificación 2026-07-20.
Guías relacionadas: Excel DSUM y DCOUNT · Excel Funciones de base de datos · Excel VLOOKUP · Excel INDEX y MATCH · Excel XLOOKUP
