A continuación se explican los pasos a seguir para realizar una validación de datos en listas dependientes de otras. En este ejemplo se muestra que al seleccionar un país se debe actualizar la lista de ciudades dependiendo del país seleccionado, y de la misma forma al seleccionar una ciudad se debe actualizar la lista de distritos dependiendo de la ciudad que se escoja.
Para este ejercicio debe descargarse el archivo "ListasDependientes", en Anexos, este libro contiene 2 hojas, "Presentacion" e "Informacion"
Desde la hoja "Informacion"
se crearán rangos de celdas desde la pestaña "Fórmulas"
Así se crearán todos los rangos de celdas (En el administrador de nombres deben aparecer todos los rangos)
Desde la hoja "Presentacion"
Se validarán los datos para las celdas correspondientes a País, Ciudad y Distrito (para el caso B8, B9 y B10)Validación de Datos para País:
Seleccionamos la celda B8, vamos a la pestaña Datos, validación de datos, en Permitir seleccionamos "lista" y en origen escribimos =Paises
Vemos que ahora aparece la lista de los paises anteriormente definidos
Validación de Datos para Ciudad:
Seleccionamos la celda B9, vamos a la pestaña Datos, validación de datos, en Permitir seleccionamos "lista" y en origen escribimos =Indirecto($B$8)
Vemos que ahora aparece la lista de ciudades dependiendo del país seleccionado
Validación de Datos para Distrito:
Seleccionamos la celda B10, vamos a la pestaña Datos, validación de datos, en Permitir seleccionamos "lista" y en origen escribimos =Indirecto(Sustituir($B$9;" ";"_"))
La función INDIRECTO devuelve una referencia especificada, en este caso compara el nombre del país con los nombres de rangos de celda que fueron creados anteriormente.
La función SUSTITUIR remplaza los caracteres especificados en este caso el caracter vacio " ", por el caracter nuevo, en este caso el guión bajo "_" esto es debido a que los rangos de celdas no permiten en sus nombres carateres en blanco y en nuestro ejemplo tenemos algunas ciudades donde su nombre contiene espacios en blanco, por ejemplo "Rio de Janeiro"