Traducir el blog

Mapa de municipios españoles

Posted on enero 08, 2024 by Excel Pedro Wave

🔝To translate this blog post to your language, select it in the top left Google box.


Para comenzar el año voy a dedicar las próximas publicaciones a crear mapas de municipios españoles ¡pero sin usar los mapas coropléticos!, que solamente están en versiones recientes de Excel y que no funcionan según lo esperado, como expliqué en este artículo:

Intentaré que los mapas sean compatibles con todas las versiones de escritorio, desde Excel 2010 hasta Excel para Microsoft 365, para lo que los crearé con un gráfico de dispersión de puntos, en el que cada punto representará uno de los 8.131 municipios de España, tanto de la península ibérica como de Canarias, Ceuta y Melilla.

Esta es la primera entrega, con un mapa me permite geolocalizar cualquier municipio español con unos pocos clics. Por ejemplo, para encontrar el municipio de Zaragoza, filtro por Aragón, luego filtro por provincia de Zaragoza y por último filtro por el municipio de Zaragoza, como se ve en esta imagen animada.

En la imagen animada se ven 3 segmentaciones de datos para filtrar por:

  • 17 comunidades autónomas y 2 ciudades autónomas.
  • 50 provincias y 2 ciudades autónomas.
  • 8.131 municipios marcados con puntos.


Filtro manual de población

Es más fácil localizar los municipios si se filtran por su población.

Como esta es la primera entrega sobre municipios españoles, el mapa es un archivo sin macros VBA con el que explicaré las técnicas fundamentales para diseñar este tipo de mapas, y es el motivo por el que el filtro de población se debe hacer manualmente.

Para facilitar el filtrado manual por la población de cada municipio, en el rango V2:W13 he añadido información de los municipios filtrados.

En la siguiente imagen se han filtrado los municipios de más de 100.000 habitantes, con lo que en este mapa aparecen los puntos que representan los 64 municipios con una población entre 100.535 y 3.280.782 habitantes.

Para modificar el filtro de población hay que seguir el enlace de la celda V7: Ir al filtro de población

En la celda M1 de la hoja 'DATOS' está el filtro de población de la tabla dinámica de municipios.

Se debe seleccionar el Filtro de etiqueta por cualquier criterio. En el ejemplo si Mayor que...


En este caso la población filtrada es mayor que 100.000 habitantes, con lo que solamente aparecerán los municipios que superen esa población.

Para actualizar las segmentaciones de datos es preciso actualizar la tabla dinámica manualmente, por lo que en la cinta de opciones hay que seleccionar: Datos > Actualizar todo

También se puede actualizar todo con el teclado presionando: Control + Alt + F5


Datos de municipios

En la hoja 'DATOS' están los 8.131 municipios españoles, descargados desde la página de descargas del Centro Nacional de Información Geográfica (CNIG) del Instituto Geográfico Nacional (IGN):

En este documento se explican los términos de la licencia de uso de los datos descargados:

ATENCIÓN: Los datos de municipios se publican y se pueden modificar respetando esta licencia:

Creative Commons — Atribución-NoComercial-CompartirIgual-No portada — CC BY-NC-SA 4.0


Se selecciona: Nomenclátor Geográfico de Municipios y Entidades de Población 

Y se descarga el archivo comprimido: BD_Municipios-Entidades.zip

Los datos de municipios se han extraído del archivo: MUNICIPIOS.csv

Los datos de comunidades autónomas se han extraído de: PROVINCIAS.csv

En la tabla TablaEspaña de la hoja 'DATOS' se han cargado los nombres de las comunidades autónomas, las provincias, los municipios, su longitud, latitud y población, incluidas las ciudades autónomas de Ceuta y Melilla.


Trucos con las segmentaciones de datos

Como quiero que el mapa sea compatible con Excel 2010 y versiones posteriores, en Excel 2010 la segmentación de datos únicamente está disponible para tablas dinámicas. Sin embargo, para las tablas normales (rangos de celdas convertidos en tablas), esta funcionalidad no está disponible en esa versión. La segmentación de datos para tablas normales se introdujo en versiones posteriores, a partir de Excel 2013.

Truco 1: Por lo tanto, para que el mapa sea compatible con Excel 2010, hay que insertar las segmentaciones de datos desde una tabla dinámica.

En la hoja 'DATOS' he creado la tabla dinámica de municipios: TablaDinámicaMunicipios

El diseño del informe se muestra en formato tabular, para así poder insertar 3 segmentaciones de datos: Comunidades autónomas; Provincias y Municipios, que se han llevado a la hoja 'MAPA'.

Además contiene los campos de Longitud y Latitud convertidos para mostrar Canarias en el mapa.

El campo Población permite filtrar desde la celda M1, como he comentado anteriormente.

En las columnas O y P se copian los campos de Longitud y Latitud de la tabla dinámica, siendo estos datos el origen de datos del gráfico de dispersión en la hoja 'Mapa'.

Los campos Longitud y Latitud son iguales, excepto para los municipios de Canarias, que se han desplazado en el mapa para situarlos abajo a la derecha.

Para ello se han definido dos nombres definidos: LongCanarias y LatCanarias con valores fijos que se suman a las coordenadas geográficas.

IMPORTANTE: Para que los usuarios finales de este mapa no sean capaces de modificar las segmentaciones de datos es preciso usar un par de trucos más.

Al insertar una segmentación de datos, se crea con estas propiedades:

Como está marcado por defecto el campo: Bloqueado, la segmentación no funciona si se protege la hoja sin marcar: Modificar objetos

Pero no deseo por nada del mundo que el usuario pueda modificar objetos y el mapa mismo, por lo que no se debe marcar Modificar objetos en ningún caso.

Truco 2: Desmarcar: Bloqueado en cada una de las 3 segmentaciones de datos.

Al estar desbloqueadas las segmentaciones aunque la hoja esté protegida, es necesario aplicar otro truco más.

Truco 3: en la sección de Posición y diseño marcar: Deshabilitar cambiar tamaño y mover

Ahora es imposible cambiar el tamaño y mover segmentaciones de datos, y siguen siendo totalmente funcionales como filtro de datos.

Problema: Al equipo de desarrollo de Microsoft Excel se le olvidó proteger a las segmentaciones de datos del borrado accidental cuando se marca: Deshabilitar cambiar tamaño y mover. Este problema también se tiene si se permiten Modificar objetos... No hay solución alternativa conocida a este problema... La única posibilidad es Deshacer el borrado (Control+Z) a tiempo, o abrir de nuevo un archivo que contenga la segmentación...

Como se ve en la imagen de arriba, la segmentación de municipios comienza con el municipio de Jun ¡que si que existe en la provincia de Granada!

¿Cómo lograr que Jun no aparezca ordenado el primero en la segmentación de municipios?

Truco 4: Pues desmarcando: Usar listas personalizadas al ordenar, como se ve en la Configuración de la imagen de la derecha.

Esto ocurre porque para ordenar los meses del año existen listas personalizadas para el nombre completo del mes y para sus abreviaturas de 3 letras, como Jun para Junio.

También he marcado: Ocultar los elementos que no contienen datos, con lo que las segmentaciones de Municipios y Provincias son más claras y ayudan a filtrar mejor.

Está desmarcado en la segmentación de Comunidades autónomas y así siempre están visibles todas, donde solamente se marca el filtro: Indicar visualmente elementos sin datos, con lo que las comunidades autónomas sin datos aparecen en otro color pero mantienen su posición en la segmentación.


Cómo he dibujado el mapa

Como me he propuesto que estos mapas de municipios sean compatibles con versiones desde Excel 2010 y superiores, no puedo usar mapas coropléticos (que aparecieron en Excel 2019) ni datos de información geográfica (que sólo están en Excel para Microsoft 365 y en Excel para la Web).

Pero necesito un mapa de España y de Canarias por separado.

¿De dónde lo obtengo?

¡De mi suscripción a Microsoft 365!

Y de este artículo de mi blog, ¡que está teniendo mucho éxito!:

Borrando los datos del rango Provincias!D2:D53 de obtiene un mapa de color neutro con las fronteras entre provincias.

Se eliminan las etiquetas con los nombres de las provincias. En el desplegable Etiquetas de mapa, cambiar Mostrar todo por: Ninguno

Se quita la Leyenda y se ajusta el color de la serie. ¡Y ya se puede copiar este mapa como una imagen!

Eso sí, pasando por un editor de imágenes como MS Paint.

Después de pegarlo en la hoja 'MAPA', desde la cinta de opciones en Formato de imagen he seleccionado como estilo de imagen: Rectángulo sombreado

El mismo procedimiento he seguido para conseguir la imagen de Canarias.

Sobre estas dos imágenes se colocarán los puntos geolocalizados de los municipios.


Geolocalización de los municipios

Las latitudes y longitudes son el rango de origen de datos de un gráfico de dispersión:

=DATOS!$O$1:$P$8132

En la imagen de abajo se ve el gráfico de dispersión de municipios si no se filtra ningún municipio.

En el Panel de Selección el "Gráfico Municipios" debe estar por encima de las imágenes de España y Canarias, para pasar el ratón por encima de los puntos que representan los municipios.

En Opciones del eje se han modificado los límites de las coordenadas geográficas:

  • Latitud en el eje vertical, con un mínimo de 35 y un máximo de 44.
  • Longitud en el eje horizontal, con un mínimo de -10 y un máximo de 10,5

En Formato de la serie de datos, selecciono como Opciones de marcador: Integrado del tipo O y tamaño 5. Con este marcador se pintan los puntos que representan los municipios en el mapa.

El resto de opciones de serie se pueden modificar a gusto del usuario final.

Únicamente hace falta hacer coincidir las imágenes de España y Canarias con el gráfico de dispersión para que se solapen, lo que se hace manualmente ¡a ojo!

Y después de este rollo explicando cómo he hecho este mapa, toca descargarlo para probar si lo he conseguido.


Descarga del mapa de municipios

Este archivo es compatible desde Excel 2010 hasta Excel para Microsoft 365, con la hoja protegida sin contraseña, para que los usuarios no destrocen el mapa, y no contiene macros.

Descarga la versión 1.0 desde uno de estos enlaces:

Abre el archivo y presiona el botón: Habilitar edición cuando aparezca el aviso de VISTA PROTEGIDA.


Vídeo: Mapa de municipios españoles

En el vídeo explico cómo usar el mapa de municipios españoles.


Más mapas de municipios

En este enlace están todas las entregas dedicadas a los municipios españoles que he escrito hasta ahora:

En la próxima entrega exploraré macros en módulos de clase para detectar eventos en el gráfico de dispersión de puntos, lo que hará este mapa más interactivo para encontrar los municipios españoles.

5 Response to "Mapa de municipios españoles"

.
gravatar
Diego Pinza Says....

Hola Pedro!
Enhorabuena por el mapa, es increíble, ¿Cómo se podría añadir una segmentación más? Tipo Si o No por Municipio

.
gravatar
Diego Pinza Says....

Finalmente siguiendo los pasos, me he creado mi propio mapa, lo de encajar puntos e imagen del mapa, fue lo que más me costó!
Gran descubrimiento tu blog!

.
gravatar
Excel Pedro Wave Says....

Hola Diego, me alegra saber que lo has conseguido tu mismo.
Este mapa fue el primero de una serie de 7 mapas que puedes leer aquí:
Mapas de municipios españoles
El último es el más completo y los pasos para lograr hacerlo están explicados en los mapas anteriores.
Descarga y prueba el Mapa del tiempo de municipios españoles
que espero te sorprenda...
Salu2 de Pedro

.
gravatar
Diego Pinza Says....

Hola de nuevo Pedro, tengo una duda, como puedo hacer para añadir una opción de Si o No a los municipios y que estas 2 opciones se representen con un puntero diferente.
Ejemplo Si - Redondo y azul / No - triángulo rojo

.
gravatar
Excel Pedro Wave Says....

Hola Diego, programando con VBA podrás hacerlo, pero se escapa del alcance del archivo sin macros de este artículo.

Leave A Reply

Indícame las erratas que encuentres y qué es lo que te gustaría ver en los próximos artículos.

Mi lista de blogs