La función BDMAX en Excel forma parte de la familia de funciones de «base de datos». Se utiliza para obtener el valor numérico más alto de un campo (columna) específico dentro de un rango de datos (la «base de datos») que cumple con un conjunto de condiciones o criterios que tú estableces.
Es especialmente útil cuando necesitas filtrar una tabla de datos por múltiples condiciones y, de los registros que cumplen esos filtros, encontrar el valor máximo en una columna determinada.
Sintaxis
=BDMAX(base_de_datos, nombre_de_campo, criterios)
La función BDMAX tiene los siguientes argumentos:
- base_de_datos: Es el rango de celdas que compone tu lista o base de datos. Debe incluir los encabezados de columna en la primera fila. Obligatorio.
- nombre_de_campo: Indica la columna que contiene los valores de los que se quiere obtener el máximo. Puedes especificarlo de dos maneras:
- El nombre del encabezado de la columna entre comillas dobles (por ejemplo, «Edad» o «Ventas»).
- 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: Es el rango de celdas donde has definido las condiciones que deben cumplir los registros. Este rango debe contener al menos un encabezado de columna y una celda debajo del encabezado con la condición. El encabezado en el rango de criterios debe ser idéntico al encabezado correspondiente en la base_de_datos. Obligatorio.
Ejemplos
Para los siguientes ejemplos, usaremos la siguiente tabla de datos sobre un inventario de árboles en un parque, ubicada en el rango A1:D11.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Especie | Altura (m) | Edad (años) | Sector |
| 2 | Roble | 18 | 85 | Norte |
| 3 | Pino | 25 | 60 | Sur |
| 4 | Arce | 15 | 70 | Norte |
| 5 | Roble | 22 | 110 | Oeste |
| 6 | Pino | 28 | 75 | Este |
| 7 | Haya | 20 | 90 | Sur |
| 8 | Roble | 12 | 50 | Norte |
| 9 | Arce | 19 | 80 | Oeste |
| 10 | Pino | 21 | 55 | Sur |
| 11 | Haya | 24 | 120 | Este |
Ejemplo 1: Encontrar la altura máxima de los robles
Queremos saber cuál es la altura máxima entre todos los árboles que son de la especie «Roble». Para ello, creamos un rango de criterios, por ejemplo en F1:F2, donde F1 contiene el encabezado «Especie» y F2 la condición «Roble».
| F | |
|---|---|
| 1 | Especie |
| 2 | Roble |
=BDMAX(A1:D11; "Altura (m)"; F1:F2)
Resultado: 22. La función busca en la columna «Especie» los registros que coinciden con «Roble» (filas 2, 5 y 8) y devuelve el valor máximo de la columna «Altura (m)» entre ellos (18, 22 y 12), que es 22.
Ejemplo 2: Edad máxima de árboles del sector norte con más de 15 metros
Ahora, aplicaremos múltiples criterios. Buscaremos la edad máxima de los árboles que se encuentran en el sector «Norte» y que además tienen una altura superior a 15 metros. Configuramos los criterios en el rango F1:G2.
| F | G | |
|---|---|---|
| 1 | Sector | Altura (m) |
| 2 | Norte | >15 |
=BDMAX(A1:D11; "Edad (años)"; F1:G2)
Resultado: 85. Los árboles del sector Norte son los de las filas 2, 4 y 8. De ellos, los que miden más de 15m son los de la fila 2 (18m) y 4 (15m, no cumple el >15). Por lo tanto, el único que cumple ambas condiciones es el de la fila 2. La función devuelve la edad de ese registro, que es 85.
Ejemplo 3: Usando un número de columna como «nombre_de_campo»
En lugar de usar el texto del encabezado, podemos usar el número de la columna. Para encontrar la misma altura máxima de los robles del primer ejemplo, podemos usar el número 2 para referirnos a la columna «Altura (m)».
| F | |
|---|---|
| 1 | Especie |
| 2 | Roble |
=BDMAX(A1:D11; 2; F1:F2)
Resultado: 22. El resultado es idéntico al del primer ejemplo, demostrando que ambas formas de referirse al campo son válidas.
Observaciones
Es crucial que los encabezados en el rango de criterios coincidan exactamente con los encabezados del rango base_de_datos. Un espacio extra o un error tipográfico hará que la función no encuentre coincidencias.
Si ningún registro cumple con los criterios especificados, la función BDMAX devolverá el valor 0. No devuelve un error, lo cual es importante tener en cuenta si el 0 es un posible valor válido en tus datos.
Aunque puedes colocar el rango de criterios en cualquier parte de la hoja, se recomienda no ponerlo justo debajo de la base de datos si planeas añadir más filas de datos, ya que podrían interferir.
Errores comunes
- #¡VALOR!: Este error ocurre si el rango de criterios no es válido (por ejemplo, si no contiene al menos un encabezado y una celda de condición) o si el argumento nombre_de_campo no coincide con ninguno de los encabezados de la base de datos.
Disponibilidad por versión de Excel
La función BDMAX está disponible en todas las versiones de Microsoft Excel, incluyendo Excel para Microsoft 365, Excel 2021, Excel 2019, Excel 2016, Excel 2013, Excel 2010 y Excel 2007.
Compatibilidad
| Software | Compatibilidad | Notas |
|---|---|---|
| Microsoft Excel | ✔️ | Funcionalidad completa. |
| Google Sheets | ✔️ | La función se llama DMAX (o BDMAX en la configuración regional de español). |
| LibreOffice Calc | ✔️ | La función se llama DMAX (o BDMAX en la configuración regional de español). |
| OpenOffice Calc | ✔️ | La función se llama DMAX (o BDMAX en la configuración regional de español). |
| WPS Office Spreadsheets | ✔️ | La función se llama DMAX. |
| Apple Numbers | ✔️ | La función existe como DMAX. |
Funciones Relacionadas
- BDMIN: Devuelve el valor mínimo de un campo en una base de datos que cumple con ciertos criterios. Es la función opuesta a BDMAX.
- MAX.SI.CONJUNTO: Una alternativa más moderna y flexible que no requiere un rango de criterios separado en la hoja de cálculo. Permite especificar múltiples condiciones directamente dentro de la fórmula.
- BDPROMEDIO: Calcula el promedio de los valores de un campo para los registros que cumplen las condiciones.
- BDSUMA: Suma los valores de un campo para los registros que cumplen las condiciones.
- BDCONTAR: Cuenta las celdas que contienen números en un campo para los registros que cumplen las condiciones.
