Las funciones de base de datos BDCONTAR, BDSUMA y BDPROMEDIO te permiten hacer cálculos sobre un rango de datos aplicando criterios específicos, exactamente como un filtro inteligente con matemáticas incluidas.
Qué son las funciones BD
Excel tiene un grupo especial de funciones que empiezan con las letras BD. Todas funcionan sobre una base de datos estructurada, es decir, una tabla con encabezados en la primera fila.
Las tres más útiles para reportes son:
- BDCONTAR: cuenta celdas numéricas que cumplen los criterios.
- BDSUMA: suma los valores de un campo según los criterios.
- BDPROMEDIO: calcula el promedio de un campo según los criterios.
Estas funciones son ideales cuando necesitas analizar solo una parte de tu base de datos sin mover ni filtrar registros.
Sintaxis general
Las tres funciones comparten exactamente la misma estructura:
=BDCONTAR(base_de_datos, nombre_de_campo, criterios)
=BDSUMA(base_de_datos, nombre_de_campo, criterios)
=BDPROMEDIO(base_de_datos, nombre_de_campo, criterios)
Cada argumento cumple una función específica:
| Argumento | Qué es |
|---|---|
| base_de_datos | El rango completo de tu tabla, incluyendo encabezados |
| nombre_de_campo | El encabezado de la columna sobre la que calculas (entre comillas o como número de columna) |
| criterios | Un rango separado con encabezados y condiciones, igual al Filtro Avanzado |
El rango de criterios funciona igual que en el Filtro Avanzado que viste en la lección anterior. Debe tener encabezados idénticos a los de tu base de datos. Las condiciones en la misma fila aplican lógica AND. Las condiciones en filas distintas aplican lógica OR.
Cómo preparar el rango de criterios
Antes de escribir cualquier función BD, prepara tu rango de criterios en una zona libre de tu hoja. Por convención, muchos usuarios lo colocan a la derecha de la base de datos o en la parte superior.
Ejemplo de rango de criterios básico:
| Departamento | Puesto |
|--------------|------------|
| Ventas | Ejecutivo |
Este criterio le dice a la función: considera solo los registros donde el departamento sea Ventas y el puesto sea Ejecutivo.
Si quisieras Ventas o Operaciones, lo escribes así:
| Departamento |
|--------------|
| Ventas |
| Operaciones |
Ejemplo 1: Reporte de nómina con BDSUMA
Supón que trabajas en Recursos Humanos de una empresa distribuidora y tienes esta base de datos de nómina en el rango A1:E11:
| ID | Nombre | Departamento | Puesto | Salario |
|-----|-----------------|--------------|-----------|----------|
| 101 | Ana Torres | Ventas | Ejecutivo | 18500 |
| 102 | Luis Pérez | Operaciones | Operador | 12000 |
| 103 | María Soto | Ventas | Ejecutivo | 19000 |
| 104 | Jorge Ramos | Finanzas | Analista | 22000 |
| 105 | Carmen Díaz | Ventas | Gerente | 28000 |
| 106 | Roberto Núñez | Operaciones | Operador | 11500 |
| 107 | Patricia León | Finanzas | Analista | 21000 |
| 108 | Eduardo Vargas | Ventas | Ejecutivo | 17500 |
| 109 | Sofía Mendoza | Operaciones | Supervisor| 16000 |
| 110 | Alejandro Cruz | Ventas | Ejecutivo | 18000 |
Quieres saber cuánto paga la empresa solo al departamento de Ventas.
Paso 1: Escribe el rango de criterios en G1:G2:
| Departamento |
|--------------|
| Ventas |
Paso 2: En la celda donde quieres el resultado, escribe:
=BDSUMA(A1:E11, "Salario", G1:G2)
Resultado: $101,000
Este resultado suma los salarios de Ana Torres, María Soto, Carmen Díaz, Eduardo Vargas y Alejandro Cruz. Solo los registros de Ventas.
Ejemplo 2: Reporte de nómina con BDPROMEDIO y BDCONTAR
Usando la misma base de datos, ahora quieres saber cuántos ejecutivos hay en Ventas y cuánto ganan en promedio.
Rango de criterios en H1:I2:
| Departamento | Puesto |
|--------------|-----------|
| Ventas | Ejecutivo |
Para contar ejecutivos en Ventas:
=BDCONTAR(A1:E11, "Salario", H1:I2)
Resultado: 4
Ana Torres, María Soto, Eduardo Vargas y Alejandro Cruz cumplen ambas condiciones.
Para calcular el salario promedio:
=BDPROMEDIO(A1:E11, "Salario", H1:I2)
Resultado: $18,250
Este promedio considera solo los cuatro ejecutivos de Ventas. No incluye a Carmen Díaz porque su puesto es Gerente.
Ejemplo 3: Reporte de ventas con criterio numérico
Ahora imagina que trabajas en el área de análisis comercial de una empresa similar a Liverpool y tienes esta base de datos de ventas en A1:D9:
| Región | Vendedor | Mes | Venta |
|----------|-----------------|--------|---------|
| Norte | Claudia Ríos | Enero | 45000 |
| Sur | Felipe Mora | Enero | 32000 |
| Norte | Claudia Ríos | Febrero| 51000 |
| Centro | Beatriz Lara | Enero | 38000 |
| Sur | Felipe Mora | Febrero| 29000 |
| Norte | Ricardo Serna | Enero | 55000 |
| Centro | Beatriz Lara | Febrero| 41000 |
| Sur | Ricardo Serna | Febrero| 36000 |
Quieres sumar todas las ventas de la región Norte que superen $40,000.
Rango de criterios en F1:G2:
| Región | Venta |
|--------|--------|
| Norte | >40000 |
Fórmula:
=BDSUMA(A1:D9, "Venta", F1:G2)
Resultado: $106,000
Suma las ventas de Claudia Ríos en Febrero ($51,000), Ricardo Serna en Enero ($55,000) y Claudia Ríos en Enero no entra porque es exactamente $45,000 y la condición es estrictamente mayor. Espera — $45,000 sí es mayor que $40,000, así que también se incluye.
Resultado correcto: $45,000 + $51,000 + $55,000 = $151,000
Revisar el resultado manualmente es una buena práctica para validar tus fórmulas BD.
Usar número de columna en lugar de nombre
El argumento nombre_de_campo también acepta un número. El número indica la posición de la columna dentro del rango de la base de datos.
Si tu base de datos es A1:E11 y el campo Salario está en la columna E (quinta columna), puedes escribir:
=BDSUMA(A1:E11, 5, G1:G2)
Esto produce el mismo resultado que usar "Salario". Sin embargo, usar el nombre entre comillas es más claro y menos propenso a errores cuando insertas columnas.
Errores comunes
Error 1: El encabezado del criterio no coincide exactamente.
Si tu base de datos dice Departamento y tu rango de criterios dice departamento o Depto, la función devuelve cero o un resultado incorrecto. Los encabezados deben ser letra por letra idénticos, incluyendo acentos y espacios.
Error 2: Incluir o excluir la fila de encabezado del rango de criterios. El rango de criterios siempre debe incluir la fila del encabezado. Si seleccionas solo la fila con el valor (sin el encabezado), Excel no puede identificar a qué campo pertenece el criterio. La función devuelve un error o ignora el criterio.
Error 3: Confundir BDCONTAR con BDCONTARA. BDCONTAR solo cuenta celdas con valores numéricos. Si intentas contar nombres o textos con BDCONTAR, obtendrás cero. Para contar campos de texto, usa BDCONTARA. Es un error frecuente al contar registros por nombre de vendedor o por departamento.
Error 4: Rango de base de datos sin encabezados. Si seleccionas solo los datos sin la fila de encabezados, Excel no puede relacionar el campo con el nombre. Siempre incluye la fila 1 (o la fila donde están tus encabezados) en el rango de la base de datos.
Tabla de referencia rápida
| Función | ¿Qué calcula? | Tipo de campo |
|---|---|---|
| BDCONTAR | Cuenta registros con valores numéricos | Numérico |
| BDCONTARA | Cuenta registros no vacíos (texto o número) | Cualquiera |
| BDSUMA | Suma los valores del campo | Numérico |
| BDPROMEDIO | Promedio de los valores del campo | Numérico |
| BDMAX | Valor máximo del campo | Numérico |
| BDMIN | Valor mínimo del campo | Numérico |
Todas las funciones de la familia BD comparten la misma sintaxis de tres argumentos. Aprender una es aprender todas.
Cuándo usar funciones BD en lugar de SUMAR.SI o CONTAR.SI
Las funciones como SUMAR.SI y CONTAR.SI son útiles para un solo criterio simple. Las funciones BD son más convenientes cuando:
- Tienes múltiples criterios que cambian frecuentemente.
- Necesitas combinar lógica AND y OR al mismo tiempo.
- Quieres que los criterios estén visibles en la hoja para que otros usuarios los modifiquen sin tocar las fórmulas.
En un reporte de nómina de FEMSA o Bimbo con cientos de registros y criterios variables por región, puesto y nivel salarial, las funciones BD te dan más flexibilidad que SUMAR.SI.CONJUNTO.
Puntos clave
- Las funciones BD siempre reciben tres argumentos: base de datos, nombre del campo y rango de criterios.
- El rango de criterios debe incluir la fila de encabezados con nombres idénticos a los de tu tabla.
- BDCONTAR solo cuenta valores numéricos; usa BDCONTARA para contar texto.
- Puedes usar operadores como
>,<,>=y<>directamente en el rango de criterios. - Todas las funciones de la familia BD comparten la misma sintaxis, por lo que dominar una te da acceso a todas.