La función BDCONTAR en Excel cuenta los registros dentro de una columna numérica que permanecen después de aplicar un grupo de criterios sobre los datos. La función se puede utilizar sobre cualquier rango de celdas siempre y cuando se incluya un nombre para cada columna.
Sintaxis de la función BDCONTAR
La función BDCONTAR tiene tres argumentos obligatorios:
- Base_de_Datos (obligatorio): El rango de celdas que compone la base de datos en donde haremos la consulta. La primera fila del rango contiene los nombres de cada columna.
- Nombre_de_campo (obligatorio): La columna, que contiene datos numéricos y sobre la cual se hará la cuenta de registros. Es posible escribir el nombre de la columna o el número que represente la posición de la columna dentro del rango.
- Criterios (obligatorio): El rango de celdas donde están especificadas las condiciones que deben cumplirse. El rango de criterios debe tener en la primera fila el nombre de la columna a la cual se aplicará el criterio.
Ejemplo de la función BDCONTAR
En la siguiente imagen podrás observar una base de datos en el rango A4:D9 que contiene información de productos. Deseo saber la cantidad de registros de la tabla que tienen un IDProducto mayor a 25032.
La condición a cumplir está indicada en el rango A1:A2 el cual tiene un título de columna idéntico al título de la tabla donde están los datos. La función que he colocado en la celda G2 es la siguiente:
=BDCONTAR(A4:D9, "IDProducto", A1:A2)
El primer argumento es precisamente el rango de celdas que contiene los datos. El segundo argumento es el nombre de la columna que tiene los datos numéricos que serán contados. El tercer argumento especifica las celdas donde se encuentra la condición que se debe cumplir. La función DBCONTAR de la celda G1 devuelve el resultado correcto porque solamente existen dos registros que tienen un IDProducto mayor a 25032 que son las filas 8 y 9.
Criterios para varias columnas
En el ejemplo anterior solamente usé un criterio para la columna IDProducto, sin embargo es posible indicar a la función BDCONTAR un criterio para más de una columna. En el siguiente ejemplo obtendré la cuenta de los registros que tienen un IDPRODUCTO diferente a 25032 y que además tengan una cantidad de 5:
La diferencia más importante con el primer ejemplo es que he ampliado el rango de criterios para incluir la celda B2.
=BDCONTAR(A4:D9, "IDProducto", A1:B2)
Solamente la fila 6 cumple con la condición de tener un IDProducto diferente a 25032 y además tener una cantidad igual a 5. Como te puedes dar cuenta, es posible indicar un criterio para cada columna y la función BDCONTAR contará los registros que cumplan con todas la condiciones. En el siguiente ejemplo puedes observar que he indicado un criterio adicional para la columna Costo Total:
El único cambio es de nuevo el tercer argumento de la función BDCONTAR para indicar el rango correcto donde se encuentran todos los criterios a cumplir. Bajo estas condiciones, son las filas 8 y 9 que cumplen con todos los criterios.
Múltiples criterios para una misma columna
También es posible indicar a la función BDCONTAR varios criterios para una misma columna y lo único que debemos hacer es colocar el nuevo criterio en una nueva fila dentro del rango de criterios. Observa el siguiente ejemplo:
La función BDCONTAR contará los registros que tengan una cantidad igual a 2 e igual a 5 que incluye a los registros en las filas 6, 7, y 8. Ahora observa el siguiente ejemplo:
En este caso la función BDCONTAR contará los registros que tienen una cantidad igual a 2 y además los registros que tienen una cantidad igual a 5 que además tienen un costo unitario mayor a 5. En este ejemplo solo las filas 6 y 7 cumplen con los criterios especificados. Así que ahora ya sabes que al trabajar con bases de datos, la función BDCONTAR nos ayudará a contar aquellos registros que cumplan con los criterios que especifiquemos.
Nota importante: Si tus datos no tienen un título de columna como lo requiere la función BDCONTAR, entonces puedes utilizar la función CONTAR.SI.CONJUNTO y podrás obtener resultados similares.