Listas desplegables dependientes en Excel

Excel permite hacer listas desplegables dependientes, estos, que una lista depende de la otra, o una lista muestra la información según el contenido de otra de la que depende.

Muchos hemos visto que cuando se elige un departamento o país, al lado hay otra lista para elegir una ciudad de ese departamento o país. En Excel esto se llaman listas dependientes, ya que la lista de ciudades depende del departamento  o país seleccionado en la celda adyacente.

Para lograr esto hay que recurrir a validación de datos y a los nombres de rangos.

Hay que definir un nombre de rango para los departamentos o países,  y un nombre de rango para cada lista de ciudades de cada departamento o país.

Hemos creado una base de datos con tres departamentos y tres municipios por cada departamento.

Al rango departamentos le hemos asignado el nombre “Departamentos”:

Al rango municipios de Antioquia se le asigna el nombre Antioquia, al de Arauca, Arauca, etc. Para que funcione, el nombre de  los rangos donde están los municipios debe ser igual a nombre de los departamentos. Hay que evitar acentos en el nombre de los rangos de los municipios  y por tanto los nombres de los departamentos no pueden tener acentos. También hay que evitar espacios en los nombres de los rangos. Por ejemplo, el nombre de un rango no puede ser “Norte de Santander”, sino que debe ser “Norte_de_Santander”, y por consiguiente así debe ser el nombre del departamento, pues estos deben ser iguales.

Una vez hayamos asignado los nombres a los diferentes rangos, procedemos a crear una lista desplegable desde la opción Datos-Validación de datos.

En la celda E2 colocamos la lista desplegable para elegir el departamento. Para ello en validación de datos, en criterios de validación elegimos la opción Lista, y en el origen colocamos el nombre del rango donde están los departamentos, precedido del signo =, tal como está en la imagen.

Ahora validamos la celda donde se colocará la lista desplegable de los municipios, que en nuestro ejemplo es F2:

Igual elegimos en criterio de validación la opción Lista, y en el origen de datos colocamos la fórmula =INDIRECTO($E$2). De esta forma vinculamos la lista con el valor que haya en E2, el cual se toma de una lista que creamos en el anterior paso.

Aquí hemos utilizado la función INDIRECTO y referencia absolutas.

Descargue una base de datos con todos los departamentos de Colombia y todos los municipios de cada departamento, en la que se utiliza este tipo de listas desplegables dependientes.

MÁS SOBRE

Gerencie.com en su correo.

Suscríbase y nosotros colocaremos en su bandeja de entrada la mejor información que generamos diariamente.

Siéntase libre de opinar

2 Opiniones
  1. Maria Ochoa dice:

    Saludos!!!

    Tengo un libro; con dos hojas, en la hoja Plantilla hay tres listas desplegables dependientes en 3 columnas en las que puedo elegir un PAÍS (Z) en concreto; DEPARTAMENTO (AA) y un MUNICIPIO (AB), en la segunda hoja esta todo lo referente a las listas desplegables.

    La hoja Plantilla tiene código VBA; que valida que el MUNICIPIO (AB) pertenezca al DEPARTAMENTO (AA) y este al PAÍS (Z) es decir si tengo una elección echa en las 3 celdas y vuelvo hacer una nueva selección de PAÍS (Z4) el código me “limpia”las celdas DEPARTAMENTO (AA4) /MUNICIPIO (AB4), hasta ahí funciona perfecto pero si solo necesito cambiar la selección del DEPARTAMENTO (AA4), no me limpia la celda MUNICIPIO (AB4), no logro identificar que hace falta.

    Private Sub Worksheet_Change(ByVal Rango As Range)
    If Rango.Rows.Count = Rows.Count Or _
    Rango.Columns.Count = Columns.Count Then
    Exit Sub
    End If
    Application.EnableEvents = False
    For Each Target In Rango
    If Left(Target.Address, 3) = "$Z$" Then
    Range("AA" & Target.Row) = ""
    Range("AB" & Target.Row) = ""
    ElseIf _
    Left(Target.Address, 3) = "$AA$" Then
    Range("AB" & Target.Row) = ""
    End If
    Next
    Application.EnableEvents = True
    End Sub

    adjunto link del archivo: https://drive.google.com/file/d/0B8OyJ_ ... sp=sharing

    Muchas gracias

  2. damian dice:

    Tengo una duda, como puedo lograr crear una lista desplegable y en cada opcion de la lista se pueda modificar la hoja, y que al momento de cambiar de opcion esta no quede modificada con la opcion anterior, es decir, eligo una opcion de la lista desplegable y esta me deje llenar las celdas , y al cambiar de opcion de la lista desplegable , no me salgan los datos ya escritos por la otra opcion. gracias

En Gerencie.com está permitido opinar, criticar, discutir, controvertir, disentir, etc. Lo que no está permitido es insultar o escribir palabras ofensivas o soeces. Si lo hace, su comentario será rechazado por el sistema o será eliminado por el administrador. Por último, trate de no escribir en mayúscula sostenida, resulta muy difícil leerle.