Listas desplegables anidadas dependientes en Excel

Compatibilidad: Truco compatible con Excel 365Truco compatible con Excel 2016Truco compatible con Excel 2013Truco compatible con Excel 2010Truco compatible con Excel 2007

Mediante validación de datos podemos crear listas desplegables anidadas dependientes en Excel. Donde el valor seleccionado de una lista depende del valor de la lista anterior.

Listas desplegables anidadas dependientes en Excel

Deseamos crear listas que nos permitan seleccionar el curso deseado entre Ofimática y diseño. Una segunda lista que según lo seleccionado en la lista anterior permita mostrar los programas disponibles y una tercera lista que permita seleccionar el nivel del programa según el curso.

En el rango F1:K5 disponemos en columna de los valores que deseamos mostrar en las listas.

FGHIJK
1CursoOfimáticaWordExcelDiseñoPhotoshop
2OfimáticaWordWord BásicoExcel BásicoPhotoshopPhotoshop
3DiseñoExcelWord MedioExcel MedioAutoCadPhotoshop Básico
4PowerPointWord AvanzadoExcel AvanzadoDreamweaverPhotoshop Avanzado
5Access

Emplearemos la siguientes función en la validación de datos:

- Función INDIRECTO. Devuelve una referencia especificada por un valor de texto.

  • ASIGNAR NOMBRES A RANGOS

Asignamos nombres a los distintos rangos, para así poder ser llamados en la validación de datos.

  1. Seleccionar el rango: G2:G5.

  2. Ir a: Cuadro de nombres (en la barra de fórmulas) / Escribir: Ofimática / Pulsar la tecla Enter. Para asignar el nombre al rango G2:G5.

    listas04
  3. Seleccionar el rango: H2:H4.

  4. Ir a: Cuadro de nombres (en la barra de fórmulas) / Escribir: Word / Pulsar la tecla Enter. Para asignar el nombre al rango H2:H4.

  5. Seleccionar el rango: I2:I4.

  6. Ir a: Cuadro de nombres (en la barra de fórmulas) / Escribir: Excel / Pulsar la tecla Enter. Para asignar el nombre al rango I2:I4.

  7. Seleccionar el rango: J2:J4.

  8. Ir a: Cuadro de nombres (en la barra de fórmulas) / Escribir: Diseño / Pulsar la tecla Enter. Para asignar el nombre al rango J2:J4.

  9. Seleccionar el rango: K2:K4.

  10. Ir a: Cuadro de nombres (en la barra de fórmulas) / Escribir: Photoshop / Pulsar la tecla Enter. Para asignar el nombre al rango K2:K4.

  • LISTA PRIMERA

Permite seleccionar el curso de F2 y F3 (Ofimática o Diseño).

  1. Ir a: Celda B3 / Escribir: Curso. Como rótulo del valor mostrado.

  2. Clic sobre la celda C3. Celda donde mostrar la lista.

  3. Ir a: Cinta de opciones / Pestaña: Datos / Grupo: Herramienta de datos / Validación de datos / Validación de datos. Mostrará el cuadro de diálogo de validación.

    Ventana de validación de datos Excel con lista y origen: =F2:F3
  4. Ir a: Permitir / Seleccionar: Lista. Tipo de validación deseada.

  5. Ir a: Origen / Seleccionar el rango: F2:F3. Rango con los valores de los cursos.

  6. Pulsar el botón Aceptar. Cierra la ventana y aplica la validación.

  • LISTA SEGUNDA

Según el valor seleccionado en la lista curso, permite seleccionar el programa Columna G (Ofimática) o Columna J (Diseño).

  1. Ir a: Celda B5 / Escribir: Programa. Como rótulo del valor mostrado.

  2. Clic sobre la celda C5. Celda donde mostrar la lista.

  3. Ir a: Cinta de opciones / Pestaña: Datos / Grupo: Herramienta de datos / Validación de datos / Validación de datos.

    Mostrará el cuadro de diálogo de validación.
    Ventana de validación de datos Excel con lista y origen: =INDIRECTO(C3)
  4. Ir a: Permitir / Seleccionar: Lista. Tipo de validación deseada.

  5. Ir a: Origen / Escribir:

    =INDIRECTO(C3)
  6. Pulsar el botón Aceptar. Cierra la ventana y aplica la validación.

    Si se muestra mensaje de El origen actualmente evalúa un error. ¿Desea continuar? / Pulsar el botón Sí. Al no tener valor seleccionado en C3.

  • LISTA TERCERA

Según el valor seleccionado en la lista curso y programa, permite seleccionar el nivel del curso: Columna H, I o K.

  1. Ir a: Celda B7 / Escribir: Programa. Como rótulo del valor mostrado.

  2. Clic sobre la celda C7. Celda donde mostrar la lista.

  3. Ir a: Cinta de opciones / Pestaña: Datos / Grupo: Herramienta de datos / Validación de datos / Validación de datos. Mostrará el cuadro de diálogo de validación.

    Ventana de validación de datos Excel con lista y origen: =INDIRECTO(C5)
  4. Ir a: Permitir / Seleccionar: Lista. Tipo de validación deseada.

  5. Ir a: Origen / Escribir:

    =INDIRECTO(C5)
  6. Pulsar el botón Aceptar. Cierra la ventana y aplica la validación.

    Si se muestra mensaje de El origen actualmente evalúa un error. ¿Desea continuar? / Pulsar el botón Sí. Al no tener valor seleccionado en C5.

  1. Ir a: Celda C3 / Seleccionar el curso deseado.

  2. Ir a: Celda C5 / Seleccionar el programa deseado. Dependiente del curso seleccionado.

  3. Ir a: Celda C7 / Seleccionar el nivel deseado. Dependiente del curso y del programa seleccionado.

Hoja Excel con lista curso con el valor Ofimática, lista programa con Excel y lista nivel con Excel medio.
Nivel de dificultad: Avanzado Excel Avanzado

58 comentarios en “Listas desplegables anidadas dependientes en Excel

  • ¿Existe algún número de listas desplegables determinado?.
    Yo tengo un total de 14, pero no me deja visualizar a partir de la 9.
    Saludos,

  • ESTIMADO: HA CRECIDO UNA DE MIS LISTAS DESPLEGABLES, POR EJEMPLO SUPONGAMOS QUE AHORA TIENES "WORD BABY", NO SE COMO ELIMINAR EL NOMBRE DE LA SELECCION DE LA LISTA O BIEN AUMENTAR EL RANGO ASOCIADO A ESTE NOMBRE

  • Hola Eric,

    Selecciona la celda que tiene la validación de datos y entra en:
    Cinta de opciones / Pestaña: Datos / Herramienta de datos / Validación de datos. Y modifica los valores en el rango.

    Saludos.

  • Muy buenas noches saludos desde Colombia.
    necesito de su ayuda....estoy creando listas desplegables dependientes multiples con nombres compuestos y verticalmente pero no logro el objetivo.Porque medio le puedo enviar archivo para saber si usted lo puede rsolver

    • Hola Eduardo,

      Revisando el archivo, se identifican espacios vacíos al final de algunas palabras del origen de datos. Al no incluirlos en el nombre del rango considera que es diferente.

      Elimina los espacios manualmente o con la función ESPACIOS y listo.

      Saludos.

  • hola buenas noches, como puedo hacer para que despues de seleccionar el programa, me aparezca la lista (en las siguientes casillas) de los niveles que existen para dicho programa, en vez de que aparezca de forma desplegable. Teniendo en cuenta que lo que quiero que salga sea la columna de los niveles.

    Gracias

  • Excelente explicación.
    Ahora bien, como se hace para que la auto completacion se haga automática en las demás celdas una vez que elegimos datos de una de ellas? Ayuda con esto.

    • Hola Poe,

      A lo que te refieres es la opción de relleno rápido. Se puede activar:

      1. Ir a: Cinta de opciones / Ficha: Archivo / Botón de Opciones. Mostrará el cuadro de diálogo de Opciones de Excel.
      2. Ir a Categoría: Avanzadas / Opciones de edición. Mostrará las opciones disponibles.
      3. Ir a la casilla: Relleno rápido automático /Activar o desactivar, según deseamos tener disponible la herramienta.

      Saludos.

  • Buenas,

    Necesitaría saber si puedo aplicar esta validación dependiente a otra celda pero complicándolo un poco más, me explico...

    Parto de un informe de unas 90.000 líneas y consta de cuatro niveles, los dos primeros son conocidos por los usuarios que van a pedir las validaciones, pero la cosa se complica en los otros dos ya que ahora mismo si pides un dato del nivel 2 y seleccionas un nivel 3 incorrecto el informe devuelve valores "0"

    Pero claro, mi informe no es estático y hoy el nivel 3 tiene 182 y el nivel 4 tiene 984 pero la próxima vez que extraiga los datos no quiero tener que revisar los rangos ya que no me parece una "mecanización" muy práctica.

    ¿Hay alguna manera diferente de vincular las validaciones sin que tenga que generar "nombres" para asociar las celdas entre sí para utilizar la fórmula "INDIRECTO"?

    Muchas gracias de antemano

  • Buenas noches Trucos y Cursos, se les saluda desde Chile.
    Quisiera saber si es posible que en vez de textos, se usen números; por ejemplo que despliegue todos los "BIL" de un "Vmax" específico:
    Vmax BIL
    145 450
    145 550
    145 650
    170 550
    170 650
    170 750
    245 650
    245 750
    245 850
    245 950
    245 1050

  • Saludos Trucos y respuestas.
    Muy interesante el topic, aprendí algo nuevo. Quisiera saber con base a esto, como podria adaptarlo para que cuando vaya escogiendo entre las listas desplegables, me saque la formulacion de los productos que hacemos.
    Ejm:
    Producto Clase A Producto Clase B
    A1 B1
    A2 B2
    A3

    Lista desplegable: Seleccionar A3 "doy Click"

    A3
    Materia prima %
    Agua 35
    Alcohol 10
    Color 5
    Surfactante 50

    y asi para los demas producto.

    De ante mano muchas gracias

  • hola buen dia.
    estoy buscando en internet y no he logrado conseguir como hacer que varias listas sean dependientes de una sola.

    Me explico: tengo una lista de datos en la columna A y la columna B es dependiente de esa lista, la C es dependiente de la B, pero la D vuelve a ser dependiente de la A y no lo puedo hacer porque ya utilice la referencia.....

  • Buenas tardes, me ha servido mucho este tema, tengo una duda:
    Puedo tener listas con los mismos nombres, pero, distintos valores?

    Desde ya muchas gracias

  • Hola, gracias por tu explicación, muy buena. Sin embargo quisiera realizar algo parecido con procesos y subprocesos pero ambos textos están compuestos por más de una palabra, a veces por más de 5 palabras. No puedo definir rango de subprocesos con un nombre de 5 palabras. Qué se podría hacer aquí?

    • Hola Maddie,

      Puedes aplicar en los nombres 5 palabras, en base a:
      - Unidas por guión bajo. Palabra_palabra_palabra_palabra_palabra.
      - Palabras unidas. PalabraPalabraPalabraPalabraPalabra.

      Saludos.

  • Excelente tutorial, Gracias
    Tengo una duda; he creado las listas anidades y funcionan perfectamente.
    Pero cuando vuelvo a la primera casilla de selección, la que sería de "curso" en el ejemplo, y selecciono otra opción de la lista desplegable, no me "resetea" las dos casillas de abajo. Con lo que si en la primera selección, no tiene tercer nivel, en el tercer nivel me muestra por defecto el dato que hubiera arrojado antes.
    Cómo se puede solucionar?

  • Excelente, amigos. Estaba trabado para resolver un problema de este tipo y su truco me ayudó. Muchas gracias y felicitaciones por la utilidad de la página. Saludos desde Santiago del Estero, Argentina.

  • Hola, quiero saber si hay un limite al realizar una lista desplegable condicionada, con mas de 9 si anidados, estuve haciendo un ejemplo pero no me dejó pasar despues del 7mo "SI", como puedo hacer para conseguir el resultado que necesito?

  • Hola buenas
    Gracias por tu explicacion pero mira tengo la siguiente inquietud.
    Productor contrato valor
    juan 1 5.3
    juan 2 6.4
    juan 3 5.7
    andres 1 8.2
    andres 2 9.5
    Pedro 1 3.3
    Ese es el ejemplo que necesito que no me resulta es que si en la lista productor seleccion juan, en la lista dependiente me aparezcan solo los contrato de juan es decir 1,2,3 y en el de andres solo 1,2 y en el de pedro solo 1. y ademas que en una tercera columa no lista sino que si elijo por ejemplo juan contrato 2 me aparezca el valor del contrato, es decir 6.4
    Gracias quedo atento a tu ayuda

  • Hola, muchas gracias por tu explicación. Tengo una duda que espero puedas ayudarme a solucionar.
    Tengo 2 columnas. La columna A "Categoría" y la B "Tipo". El punto es que son varias celdas (20) en cada una. Cada celda de la columna Categoría tendrá valores distintos y las celdas de la columna Tipo aparecerán en función de estas. Cuando intento copiar y pegar las celdas en la columna B, para no hacer la configuración "=Indirecto(xx)" celda por celda, solo aparecen los valores de la primera celda configurada. Hay manera de aplicar la configuración al resto de las celdas sin ir una a una? Espero haberme hecho entender 🙂 Muchas gracias de antemano

  • Buenos días:
    Tengo una base de datos que diariamente se actualiza, quisiera agregar en una celda una lista desplegable que solo se muestre dependiendo el texto de otra celda.

    Podrían decirme si es posible hacerlo sin recurrir a una macros.

    Gracias

  • HOLA TENGO UNA PREGUNTA YO QUIERO UNA LISTA DONDE DIGAMOS TENGO UNA LISTA LLAMADA PAIS Y ESCOJO UN PAIS Y AL LADO SALE OTRA LISTA DONDE ESTAN LAS CIUDADES Y SI ESCOJI EL PAIS MEXICO SOLO ME SALEN LA LISTA CON LAS CIUDADES UNICAMENTE CIUDADES DE MEXICO O COLOMBIA Y LA LISTA CIUDADES SALGAN UNICAMENTE LAS DE COLOMBIA COMO HAGO TENGO EXCEL 2013
    GRACIAS

  • Buenos días a todos, tengo una duda.. se podría crear en una celda "A" un cuadro de lista o combinado, de tal forma que al elegir una de las opciones del cuadro se grabe en esta celda y abra directamente otro cuadro con nuevas opciones vinculadas a la elección, grabándose en la celda "B" la opción elegida de este segundo cuadro.??

  • Buen día, una pregunta... es posible armar rangos utilizando columnas o filas ubicadas en distinto lugar dentro de unahoja??

    por ejemplo: fila A1:G1 + fila A5:G5, o columna A1:A10 + columna B1:B10.

    Gracias de antemano por la respuesta.

      • Hola, antes que nada gracias por la pronta respuesta.

        Estuve probando su sugerencia de usar =SUMA(A1:G1; A5:G5) pero no resultó, lo intenté con columnas pero tampoco funcionó. En el administrador de nombres de rango aparece esto {...} en la columna de valor, también intenté usar la formula directamente en la barra de formulas pero tampoco resultó, y en este caso aparece un cero.

        Existe alguna otra forma?? combinando funciones?? sin macros. No lo aclaré antes pero tengo el Office 2007 y el contenido de las celdas es texto.

        Desde ya muchas gracias por su tiempo.

  • Buenas tardes,
    Tengo una base de datos en una hoja y en otra hoja tengo el resumen. Lo que quiero es en la hoja resumen realizar una lista desplegable que proviene de la hoja de la "base de datos" dependiendo de un dato que tengo en la hoja "resumen".
    Es posible esto?

  • Hola, muchas gracias por tu tutorial.
    Podrías publicar algo para especificar cómo hacer listas que relacione dos columnas adyacentes?
    Me explico, necesito solucionar lo siguiente para poder tener un registro de mis atenciones como fisioterapeuta: Llega mi primer cliente, lo ingreso a través de un formulario y lo registra en una base de datos, el cliente se llama Juan así que la información se registra así:

    N°cotización Nombre
    1 Juan

    luego viene un Segundo cliente, se llama pedro, entonces lo ingreso y ocurre lo siguiente.
    N° cotización Nombre
    2 Pedro
    1 Juan

    Luego, después de unos días Vuelve Juan, con un nuevo tratamiento y por lo tanto con una nueva cotización:

    N° cotización Nombre
    3 Juan
    2 Pedro
    1 Juan

    Lo que necesito es crear una lista, que me permita seleccionar el nombre del cliente y a su vez que lo relacione con las distintas cotizaciones (órdenes de trabajo) que él tiene, por ejemplo

    Nombre Cliente ---> Juan
    Pedro

    Cotizaciones 1
    3

    No he podido encontrar ayuda, no me funciona para esto las típicas listas dependentientes con la función indirecto. Si me pudieras orientar sería genial!
    Gracias!

  • Hola Amigo(a) me encantó tu tutorial, ¿me puedes ayudar con una consulta por favor?
    Tengo una lista de diámetros de tubería y para cada diámetro tengo espesores de tubería diferentes por ejemplo así:

    Diámetro 1 2 3
    Espesor 0,101 0,201 0,301
    Espesor 0,102 0,202 0,302
    Espesor 0,103 0,203 0,303

    El problema surge cuando selecciono los valores (0,101 - 0,102 y 0,103) para cambiarle el nombre al grupo y ponerle (1) me sale un mensaje que dice "debe introducir un nombre valido para la selección".

    Lo que hice provisionalmente fue ponerle una letra antes del valor del diámetro (D1, D2 y D3) pero me gustaría que pueda seleccionar de una lista el valor numérico del diámetro y luego poder hacer lo mismo con los valores de espesor de tubería.

    Muchas gracias por tu atención, espero haber sido claro y que me puedas ayudar.

  • Buenas tardes. Quería consultarles si es posible elegir mas de un elemento de una lista desplegable en una celda.
    Por ejemplo: Tengo los nº 1,2,3,4,5,6... en una lista desplegable, y quiero seleccionar el 1,3,5 solamente, es posible?

    Muchas gracias
    Un saludo.
    Bruno

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.