Las funciones de base de datos de Excel (BDSUMA, BDCONTAR, BDPROMEDIO y compañía) resumen una tabla aplicando filtros escritos en un rango aparte, sin tocar columnas auxiliares. En este tutorial trabajaremos con una hoja de ventas de una tienda de informática: productos, zonas, meses e importes. Al terminar, sabrás montar un rango de criterios, cambiar la operación con una lista desplegable y detectar los errores típicos. Estas funciones existen desde Excel 2003 y siguen en Microsoft 365, Excel 2024, 2021, 2019 y 2016, y también en Excel para la web y para Mac.
=BDSUMA(A1:D50;"Importe";F1:G2)), el formato habitual en España. En Excel configurado con punto decimal (México, Estados Unidos) el separador es la coma.Qué son las funciones de base de datos y para qué sirven
Imagina la hoja de ventas de la tienda: trescientas filas con Producto, Zona, Mes e Importe. Quieres saber cuánto se vendió en Madrid durante el primer trimestre, pero solo quieres ver un número, no una tabla filtrada. Con SUMAR.SI.CONJUNTO lo harías poniendo todas las condiciones dentro de la fórmula, una tras otra, y reescribiéndola cada vez que cambia el filtro.
Las funciones BD hacen lo mismo, pero las condiciones se escriben en un rango aparte de la hoja, el rango de criterios. Así, para cambiar el filtro solo tocas una celda, no la fórmula. La función recorre la tabla, se queda con las filas que cumplen las condiciones del rango y devuelve un único valor: una suma, un conteo, un promedio, un máximo, etc.
La estructura de todas: base de datos, campo y criterios
Las doce funciones BD comparten tres argumentos en el mismo orden. Entenderlos bien es la mitad del trabajo, porque la fórmula cambia solo en la primera letra.
| Argumento | Qué es | Cómo se escribe |
|---|---|---|
| Base_de_datos | La tabla completa con encabezados | Un rango como A1:D50 |
| Nombre_de_campo | La columna sobre la que se calcula | Texto entre comillas ("Importe"), número de columna (4) o referencia a la celda del encabezado (D1) |
| Criterios | El rango aparte con las condiciones | Un rango como F1:G2, con encabezados que coinciden con los de la tabla |
Base_de_datos: el rango completo con encabezados
El primer argumento es la tabla entera, incluida la fila de títulos. Si la fila 1 tiene los encabezados y los datos empiezan en la fila 2, el rango es A1:D50 (o A1:D1048576 si quieres que crezca hasta el final de la hoja). La fila de títulos es imprescindible: las funciones BD la usan para saber qué columna es cada una y para comparar con los encabezados del rango de criterios.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Producto | Zona | Mes | Importe |
| 2 | Portatil Atlas | Madrid | Enero | 1.250,00 |
| 3 | Tablet Orion | Valencia | Enero | 480,00 |
| 4 | Movil Sigma | Madrid | Febrero | 890,00 |
| 5 | Auriculares Neo | Sevilla | Enero | 75,00 |
| 6 | Portatil Atlas | Madrid | Febrero | 1.250,00 |
| 7 | Tablet Orion | Madrid | Marzo | 480,00 |
| 8 | Movil Sigma | Barcelona | Enero | 890,00 |
| 9 | Cargador USB | Madrid | Enero | 25,00 |
| 10 | Auriculares Neo | Madrid | Marzo | 75,00 |
Nombre_de_campo: la columna que devuelve el valor
Este argumento le dice a la función sobre qué columna trabajar. Tiene tres formas equivalentes:
- Texto entre comillas:
"Importe". - Número de columna contando desde la primera de la tabla: si la tabla empieza en A, Importe es la columna 4.
- Referencia a la celda del encabezado:
D1. Esta forma es la que usaremos al final para que la fórmula sea reutilizable.
=BDSUMA(A1:D10;"Importe";F1:G2)
=BDSUMA(A1:D10;4;F1:G2)
=BDSUMA(A1:D10;D1;F1:G2)
Criterios: el rango aparte donde se escriben las condiciones
Las condiciones no van dentro de la fórmula, sino en un rango con sus propios encabezados. Por eso las funciones BD son distintas de SUMAR.SI.CONJUNTO: el filtro es visible en la hoja y se puede revisar de un vistazo.
El rango de criterios tiene al menos una fila de encabezados (que deben escribirse IGUAL que los de la tabla) y una o más filas con las condiciones. Para una sola condición, basta con F1:F2. Para varias en la misma fila (Y lógico), se amplía a la derecha: F1:G2.
Las doce funciones y qué devuelve cada una
Todas las funciones BD se escriben igual y comparten los tres argumentos. Lo que cambia es el cálculo que hacen sobre las filas que pasan el filtro.
| Función (español / inglés) | Devuelve |
|---|---|
| BDSUMA / DSUM | La suma de los valores de la columna indicada |
| BDCONTAR / DCOUNT | Cuántas celdas con número cumplen el criterio |
| BDCONTARA / DCOUNTA | Cuántas celdas con texto o número cumplen el criterio |
| BDPROMEDIO / DAVERAGE | El promedio de los valores |
| BDMAX / DMAX | El valor más alto |
| BDMIN / DMIN | El valor más bajo |
| BDPRODUCTO / DPRODUCT | El producto de los valores |
| BDEXTRAER / DGET | El valor de una columna cuando hay una sola fila que cumple el criterio |
| BDDESVEST / DSTDEV | La desviación estándar (muestral) |
| BDDESVESTP / DSTDEVP | La desviación estándar (poblacional) |
| BDVAR / DVAR | La varianza (muestral) |
| BDVARP / DVARP | La varianza (poblacional) |
Las cuatro primeras (suma, conteo, conteo con texto, promedio) cubren el 90% de los casos. Las de máximo y mínimo se usan para encontrar el pedido más grande o el más pequeño de una zona. BDEXTRAER es especial: si más de una fila cumple el criterio, devuelve #¡NUM!.
Escribir el rango de criterios para que el filtro funcione
Partimos de la hoja de ventas ya creada (Producto en A, Zona en B, Mes en C, Importe en D, filas 2 a 50). Vamos a colocar el rango de criterios en F1:G2 y a escribir una BDSUMA en I2 que lo use.
A1:D10 por A1:D50 o por el rango real de tus datos.| E | F | G | H | I | |
|---|---|---|---|---|---|
| 1 | Zona | Mes | Total | ||
| 2 | Madrid | ||||
| 3 | |||||
| 4 | |||||
| 5 | |||||
| 6 | |||||
| 7 | |||||
| 8 | |||||
| 9 | |||||
| 10 |
Un criterio en una sola fila
En F1 escribimos Zona y en F2 escribimos Madrid. La función revisa la columna Zona de la tabla y se queda con las filas que dicen "Madrid". Después suma la columna Importe de esas filas.
=BDSUMA(A1:D10;"Importe";F1:F2)
I2 aparece 3.490,00, que es la suma de los importes de Madrid en la hoja de ejemplo (1.250 + 890 + 1.250 + 25 + 75).Varios criterios en columnas a la vez (Y lógico)
Para filtrar por Zona Y Mes a la vez, ampliamos el rango hacia la derecha. Ponemos Zona en F1, Mes en G1, Madrid en F2 y Enero en G2.
| E | F | G | H | I | |
|---|---|---|---|---|---|
| 1 | Zona | Mes | Total | ||
| 2 | Madrid | Enero | 3.490,00 | ||
| 3 | Madrid | Enero | 1.275,00 | ||
| 4 |
=BDSUMA(A1:D10;"Importe";F1:G2)
I3 aparece 1.275,00 (Portatil Atlas 1.250 + Cargador USB 25). Solo enero, solo Madrid.Varios criterios en filas debajo (O lógico)
Para sumar Madrid Y Valencia (cualquier mes), escribimos dos filas de criterios con el mismo encabezado. En F1 Zona, en F2 Madrid, en F3 Valencia.
=BDSUMA(A1:D10;"Importe";F1:F3)
Criterios con comparaciones numéricas y texto
Los criterios no son solo valores exactos: también valen comparaciones y comodines. Importe mayor que 1.000: >1000. Producto que empiece por "Comi": Comi*.
| E | F | G | H | I | |
|---|---|---|---|---|---|
| 1 | Importe | Total | |||
| 2 | >1000 | 2.500,00 | |||
| 3 | |||||
| 4 |
I4 aparece 2.500,00, la suma de los dos importes mayores que 1.000 (los dos Portatil Atlas a 1.250).Sustituir el campo por una celda para reutilizar la fórmula
La parte más práctica de las funciones BD es que Nombre_de_campo puede ser una celda. Si ponemos una lista desplegable con los nombres de las columnas, una sola fórmula sirve para sumar, contar, promediar… lo que pidamos.
En H1 creamos una validación de datos con la lista de columnas. Después, en H2 escribimos el nombre de la operación (Suma, Cuenta, Promedio, Maximo, Minimo) y la fórmula elige la función adecuada con un SI anidado o con ELEGIR. Aquí lo simplificamos: una sola BDSUMA cuya columna viene de H1.
| E | F | G | H | I | |
|---|---|---|---|---|---|
| 1 | Zona | Columna | Total | ||
| 2 | Madrid | Importe | 3.490,00 | ||
| 3 | |||||
| 4 | |||||
| 5 |
=BDSUMA(A1:D10;H1;F1:F2)
H1 de Importe a Zona, la fórmula sigue funcionando (sumará cero porque Zona es texto). Para que sume importes y cuente zonas, cambia la función: BDCONTARA(A1:D10;H1;F1:F2) cuenta cuántas filas de Madrid hay.Errores típicos al usar las funciones BD
Las funciones BD fallan por motivos muy concretos, casi siempre relacionados con el rango de criterios. Estos son los que más se repiten al trabajar con la hoja de ventas.
El criterio devuelve 0 o se queda vacío
El error más común: el encabezado del rango de criterios está escrito con un espacio de más, con mayúscula distinta o con tilde que la tabla no tiene. Como Excel compara los encabezados carácter a carácter, "Zona " (con espacio) y "Zona" no son lo mismo, y el filtro no encuentra nada.
| F | G | |
|---|---|---|
| 1 | Zona | |
| 2 | Madrid |
I2 muestra 0 en vez de 3.490,00, aunque la fórmula parece correcta. Revisa los encabezados letra a letra.La fórmula se rompe al añadir filas a la tabla
Si el rango Base_de_datos quedó fijo en A1:D10 y la tabla crece hasta la fila 50, las filas nuevas quedan fuera del filtro. La solución más limpia es convertir los datos en tabla de Excel (selecciona A1:D10 y pulsa Ctrl+T): la tabla se llama, por ejemplo, Tabla1, y la fórmula pasa a usar Tabla1[Importe] como rango, que crece solo.
=BDSUMA(Tabla1[#Datos];"Importe";F1:F2)
BDEXTRAER devuelve #¡NUM! y BDSUMA no
BDEXTRAER exige que el criterio deje una sola fila. Si hay dos o más coincidencias, devuelve #¡NUM!. Con BDSUMA no pasa nada, porque suma todas. La solución suele ser estrechar el criterio hasta que quede un único resultado, o cambiar a BDSUMA si lo que queremos es el total.
| F | G | |
|---|---|---|
| 1 | Zona | |
| 2 | Madrid |
I6 aparece #¡NUM! porque hay cinco filas de Madrid. Si el criterio fuera Zona = Sevilla, devolvería 75,00.El rango de criterios se "come" una fila y el filtro se va
Al copiar el rango de criterios hacia abajo, es fácil incluir la fila de encabezados duplicada por error. Excel ve dos filas con "Zona" y trata la segunda como una condición más, filtrando al vacío.
Cuándo tiene sentido usar una función BD y cuándo mejor SUMAR.SI.CONJUNTO
Las funciones BD no son mejores ni peores que SUMAR.SI.CONJUNTO: resuelven problemas distintos. La diferencia está en dónde viven los criterios.
| Característica | Funciones BD | SUMAR.SI.CONJUNTO / SUBTOTALES / FILTRAR |
|---|---|---|
| Dónde están los criterios | En un rango aparte de la hoja | Dentro de la fórmula |
| Cambiar el filtro | Tocar una celda del rango | Reescribir la fórmula |
| Ver las condiciones de un vistazo | Sí, están en la hoja | No, hay que abrir la fórmula |
| Varias funciones sobre los mismos datos | Cambiando el nombre de campo | Hay que escribir varias fórmulas |
| Crecen con la tabla | Hay que ajustar el rango o usar tabla de Excel | Usando rangos con Tabla1[Importe] |
| Orden en la cinta | Ninguno, se escriben a mano | Fórmulas > Biblioteca de funciones |
| Disponibles desde | Excel 2003 | SUMAR.SI.CONJUNTO desde 2007, FILTRAR desde 2021 |
Las funciones BD siguen siendo útiles cuando los criterios cambian a menudo y queremos que el usuario los vea y los modifique en la propia hoja, sin tocar la fórmula. En la tienda, el jefe de ventas puede cambiar "Madrid" por "Valencia" en F2 y el resultado se actualiza solo. Si los criterios fueran fijos, SUMAR.SI.CONJUNTO es más directo. Para análisis más complejos (varios criterios que se combinan, o volcar las filas filtradas en otro sitio), FILTRAR (desde Excel 2021) hace lo mismo en una sola celda desbordada hacia abajo.
Lo que ya sabes hacer con las funciones de base de datos
- Montar un rango de criterios con encabezados que coincidan con los de la tabla y condiciones en filas y columnas.
- Elegir entre las doce funciones BD según el cálculo que necesites (suma, conteo, promedio, máximo, mínimo, varianza…).
- Pasar el nombre del campo como texto, como número o como referencia a una celda, según te convenga.
- Combinar la función con una lista desplegable para cambiar el cálculo sin tocar la fórmula.
- Detectar y arreglar los cuatro errores más habituales: encabezados con espacio, rango fijo que se queda corto,
BDEXTRAERcon varias coincidencias y rango de criterios duplicado.
El siguiente paso natural es convertir la hoja de ventas en una tabla de Excel (Ctrl+T): así los rangos crecen solos al añadir pedidos y las funciones BD dejan de romperse cuando la tabla pasa de diez filas. A partir de ahí, si los análisis se complican, prueba FILTRAR para volcar las filas que cumplen los criterios en otra zona de la hoja.
Datos comprobados en octubre de 2026.
Fuentes
- MicrosoftBASE — documentación oficialconsultado el 12/10/2026
- MicrosoftExcel y Access — documentación oficialconsultado el 12/10/2026
- MicrosoftPower Query (Obtener y transformar datos) — documentación oficialconsultado el 12/10/2026
- MicrosoftIMPORTARDATOSDINAMICOS — documentación oficialconsultado el 12/10/2026
- MicrosoftSUBTOTALES — documentación oficialconsultado el 12/10/2026