Cómo crear menús desplegables en cascada en Excel. es muy simple especialmente si trabajas con Excel 365 😉
Tabla con datos jerárquicos
Partiremos de una tabla donde los datos están ordenados de forma jerárquica, datos como Categorías y las Subcategorías.

Usaremos esta información para construir 2 menús desplegables dependientes entre sí.
Por ejemplo, en la siguiente imagen, en el menú desplegable solo se muestran las subcategorías relacionadas con Bebidas 😮👍

Paso 1: crear el primer menú desplegable
- El primer menú corresponde a la columna de Categorías
- Usaremos el Función ÚNICA para extraer cada valor de la columna sin duplicados.
=SOLO($A$2:$A$57)

Entonces vamos crear menú desplegable activando el menú Datos > Validación de datos.
- Seleccionar opción Lista
- Solo escribe la primera celda (E2)
- Añadir el símbolo # para indicar que recuperaremos todas las celdas devueltas por la función ÚNICA

Aquí está, nuestro primer menú.

Paso 2: crea el menú desplegable dependiente
Ahora construiremos una nueva fórmula en una segunda columna. Esta vez usaremos la función FILTRO que utilizaremos para ver el resultado del primer menú desplegable.
Para escribir la fórmula, haremos
- Indique la columna que contiene los datos a devolver
- Indique la columna por la que filtrar
- la prueba a realizar (aquí =)
- la celda que contiene el valor de la prueba (aquí celda I3)
=FILTRE(B2:B56;A2:A56=I3;"")

Por supuesto, sólo necesitamos mantener valores únicos. Y nuevamente, usaremos la función ÚNICA. Y para hacerlo perfecto, también podemos ordenar los datos dinámicamente.
=TRIER(UNIQUE(FILTRE(B2:B56;A2:A56=I3;"")))

Y como hicimos con el primer menú desplegable, usaremos nuevamente las referencias propagadas para diseñar el segundo menú desplegable con el resultado de la segunda fórmula. Y con esta nueva función, creamos un menú desplegable dependiente del primer resultado.

Artículos relacionados
- Menú desplegable con entrada parcial en Excel
- ¿Cómo crear un menú desplegable dinámico?
- Capacitación para crear un menú desplegable
- Menú desplegable sin mostrar datos anteriores
- Lista desplegable sin espacios en blanco en Excel
28/03/2023 a las 14:28
Seguí como me explicaron pero recibí un mensaje de error, ¿es posible tener esta maniobra en video, por favor?
02/02/2023 a las 10:25
Hola,
¿Cómo podemos hacer que el segundo filtro se actualice automáticamente cuando modificamos el primer filtro?
Permanece en el último valor cuando cambiamos el primer filtro (por lo tanto, corresponde a una categoría en su ejemplo)
Merci
02/02/2023 a las 13:10
Si entiendo bien, solo la visualización no está actualizada porque cuando haces clic en el menú desplegable, los datos que se muestran están en relación con el menú desplegable principal.
Sí, este es un inconveniente de Excel que no gestiona la actualización de datos de forma dinámica (no es una página web). Una solución sería crear una macro que admita eventos.
20/07/2022 a las 10:36
Hola quería saber si podríamos hacer lo mismo usando otra hoja y queriendo recuperar los datos de la primera lista.
Que tenga un buen día
22/07/2022 a las 21:53
Uuuuuuu, hay que ver el contexto. entonces no puedo responder
03/12/2020 a las 11:55
Hola,
Muchas gracias por estas explicaciones tan detalladas.
Pequeña pregunta respecto al resultado de la fórmula del Filtro, ¿podemos mostrar el resultado en una sola línea en lugar de en una columna?
Necesito duplicar la fórmula en varias líneas y por lo tanto la visualización del resultado de la función Filtro está en columna, me encuentro bloqueado en cuanto el resultado tiene varios resultados.
Gracias de antemano por su ayuda
Jérôme
03/12/2020 a las 12:36
Debes utilizar la función TRANSPONER para invertir el resultado. =TRANSPONER(FILTRAR...))
19/01/2021 a las 20:23
Hola, gracias por tus explicaciones tan claras.
Una pequeña pregunta en la que estoy atascado: ¿es posible crear una función de filtro aplicable a varias celdas de selección?
Para ser más explícito: en su ejemplo, su condición2 siempre se basa en el valor en I3. Me gustaría poder utilizar el mismo filtro en I4, I5, etc. Tengo una tabla con 150 filas y si pudiera evitar crear la fórmula 150 veces me ayudaría mucho.
O quizás la función Filtro no sea la que debo utilizar para mi propósito.
En caso de que tenga otra idea para una fórmula: estoy buscando cada línea de mi tabla (150 líneas mínimo) para seleccionar mis "Proveedores" en un menú desplegable, luego, dependiendo del proveedor, seleccionar el "producto" en un menú desplegable.
Merci de votre aide.
PD: Sé que el tema es Excel pero tengo que usar Google Sheet en el trabajo. Espero que aún así aceptes ayudarme.
21/01/2021 a las 15:22
De hecho, esta es una pregunta excelente y no es en absoluto la función FILTRO la que debería utilizarse. La función FILTRO no está optimizada para búsquedas múltiples. En este caso es preferible utilizar el Función BUSCARX porque podemos seleccionar varias columnas en el 3er parámetro
20/10/2020 a las 12:36
Hola,
Todo mi agradecimiento por tus artículos que son muy enriquecedores.
Me gustaría preguntarle cómo crear menús desplegables dependientes con la versión MS Excel 2016.
Ya utilicé "Lista" en Validación de datos pero no puede generar una lista dependiente.
También probé "Personalizado" en Validación de datos pero no puedo hacerlo.
Os agradezco vuestra respuesta.
Cordialement.
20/10/2020 a las 14:50
No, solo las versiones de Microsoft 365 y Excel Online tienen las funciones matriciales que resuelven este problema