La función BDCONTARA en Excel cuenta las celdas que no están en blanco en una columna de una lista o base de datos que cumplen con un conjunto de condiciones especificadas.
A diferencia de su función hermana BDCONTAR, que solo cuenta celdas con números, BDCONTARA cuenta cualquier tipo de dato (números, texto, errores, etc.), siempre y cuando la celda no esté vacía.
Es una herramienta muy potente para filtrar y contar registros en grandes conjuntos de datos directamente en la hoja de cálculo.
Sintaxis
=BDCONTARA(base_de_datos, nombre_de_campo, criterios)
La función BDCONTARA tiene los siguientes argumentos:
- base_de_datos: El rango de celdas que compone la lista o base de datos. La primera fila de este rango debe contener los encabezados de columna. Obligatorio.
 - nombre_de_campo: Indica la columna que se usará para contar las celdas. Puede ser el texto del encabezado de la columna (entre comillas, por ejemplo, «Edad») o un número que represente la posición de la columna dentro de la base de datos (1 para la primera columna, 2 para la segunda, etc.). Obligatorio.
 - criterios: El rango de celdas que contiene las condiciones que deben cumplir los registros para ser contados. Este rango debe incluir al menos un encabezado de columna y una celda debajo de él con la condición. El encabezado en el rango de criterios debe coincidir exactamente con un encabezado en la base_de_datos. Obligatorio.
 
Ejemplos
Para los siguientes ejemplos, usaremos la siguiente tabla de datos sobre árboles en una finca, ubicada en el rango A1:D11.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Especie | Altura (m) | Edad (años) | Propietario | 
| 2 | Manzano | 4 | 8 | Ana | 
| 3 | Peral | 5 | 12 | Luis | 
| 4 | Manzano | 3 | 5 | Ana | 
| 5 | Roble | 18 | 55 | |
| 6 | Pino | 22 | 40 | Luis | 
| 7 | Manzano | 5 | 10 | Pedro | 
| 8 | Roble | 25 | 80 | Ayto. | 
| 9 | Peral | 15 | Luis | |
| 10 | Pino | 15 | 30 | Ana | 
| 11 | Roble | 12 | 25 | 
Ejemplo 1: Contar árboles de una especie específica
Para contar cuántos árboles de la especie «Manzano» hay en la base de datos, primero creamos un rango de criterios, por ejemplo, en F1:F2:
| F | |
|---|---|
| 1 | Especie | 
| 2 | Manzano | 
La fórmula contará las filas donde la «Especie» es «Manzano». Usaremos el campo «Especie» para el recuento.
=BDCONTARA(A1:D11, "Especie", F1:F2)
Resultado: 3
Ejemplo 2: Contar árboles con una altura mayor a 10 metros
Queremos saber cuántos árboles tienen una altura registrada superior a 10 metros. Fíjate que el Peral de la fila 9 no se contará aunque cumpla otras condiciones, porque su celda de altura está vacía y BDCONTARA solo cuenta celdas no vacías en la columna especificada. Rango de criterios en G1:G2:
| G | |
|---|---|
| 1 | Altura (m) | 
| 2 | >10 | 
La fórmula contará sobre la columna «Altura (m)».
=BDCONTARA(A1:D11, "Altura (m)", G1:G2)
Resultado: 4 (Corresponde a los árboles en las filas 5, 6, 8 y 10).
Ejemplo 3: Contar árboles con múltiples criterios
Ahora contaremos los árboles que son de la especie «Roble» Y cuya edad es superior a 50 años. Rango de criterios en F5:G6:
| F | G | |
|---|---|---|
| 5 | Especie | Edad (años) | 
| 6 | Roble | >50 | 
Podemos usar cualquier columna para contar, por ejemplo, la columna 3 («Edad (años)»).
=BDCONTARA(A1:D11, 3, F5:G6)
Resultado: 2 (Corresponde a los robles de las filas 5 y 8).
Ejemplo 4: Contar registros con propietario conocido
La función BDCONTARA es ideal para contar celdas con texto. Contaremos cuántos árboles tienen un propietario asignado (la celda no está vacía). El criterio `=»<>«` significa «no está vacío». Rango de criterios en H1:H2:
| H | |
|---|---|
| 1 | Propietario | 
| 2 | <> | 
=BDCONTARA(A1:D11, "Propietario", H1:H2)
Resultado: 8 (Cuenta todas las filas excepto la 5 y la 11, donde el propietario está en blanco).
Observaciones
Es crucial que los encabezados en el rango de criterios coincidan exactamente con los encabezados de la base_de_datos. Un espacio extra o un error tipográfico hará que la función no encuentre coincidencias y devuelva 0.
Puede colocar el rango de criterios en cualquier lugar de la hoja de cálculo, pero es recomendable no ponerlo debajo de la base de datos para poder añadir nuevos registros a la lista sin afectar al rango de criterios.
Para condiciones «O» (por ejemplo, contar Manzanos O Perales), se añaden filas adicionales al rango de criterios. Cada fila representa un conjunto de condiciones, y si un registro cumple con cualquiera de las filas, se cuenta.
Disponibilidad por versión de Excel
La función BDCONTARA es una de las funciones de base de datos clásicas de Excel y está disponible en todas las versiones de Excel, incluyendo Excel para Microsoft 365, Excel para la Web, y versiones de escritorio desde Excel 97.
Compatibilidad
| Software | Compatibilidad | Notas | 
|---|---|---|
| Microsoft Excel | ✔️ | Funcionalidad completa en todas las versiones. | 
| Google Sheets | ✔️ | La función equivalente se llama DCOUNTA. | 
| LibreOffice Calc | ✔️ | Funciona de manera idéntica. | 
| OpenOffice Calc | ✔️ | Funciona de manera idéntica. | 
| WPS Office Spreadsheets | ✔️ | La función equivalente se llama DCOUNTA. | 
| Apple Numbers | ✔️ | La función equivalente se llama DCOUNTA. | 
Funciones Relacionadas
- BDCONTAR: Similar a BDCONTARA, pero solo cuenta las celdas que contienen números en la columna especificada.
 - CONTAR.SI.CONJUNTO: Una alternativa más moderna y flexible que no requiere un rango de criterios separado en la hoja de cálculo. Permite aplicar múltiples condiciones a uno o más rangos.
 - BDESVIAPEST: Calcula la desviación estándar de una muestra basada en los registros de la base de datos que coinciden con los criterios.
 - BDPRODUCTO: Multiplica los valores de un campo específico de los registros que cumplen los criterios.
 - BDSUMA: Suma los números en la columna de campo de los registros que coinciden con los criterios.
 
