Traducir el blog

Mapa del clima español

Posted on julio 06, 2022 by Excel Pedro Wave

🔝To change the language of this blog post, choose it from the Google box at the top left.


No voy a hablar del clima político en España si no del clima meteorológico, partiendo de un mapa coroplético hecho en un artículo anterior, y que últimamente tiene muchas visitas:

Mapa de Provincias de España en Excel | #ExcelPedroWave

He diseñado este nuevo mapa con varios datos climáticos, para saber el tiempo que ha hecho en España en el transcurso del día de hoy y de días anteriores:

Si buscas la predicción del tiempo para los próximos días, no sigas leyendo y búscala en otros sitios.

Si buscas trucos para tratar datos históricos en Excel, sigue leyendo.

AVISO: Este artículo no va dirigido a la consulta de un mapa climático por usuarios inexpertos de Excel, sino al aprendizaje por parte de usuarios intermedios y avanzados de trucos y tratamientos que ayuden a mostrar cualquier tipo de dato en un mapa coroplético hecho en Excel.


Vídeo del mapa climático

En este vídeo explico cómo usar los dos archivos que puedes descargar más abajo.


Datos del mapa climático

Información elaborada utilizando, entre otras, la obtenida de la Agencia Estatal de Meteorología - AEMET y del Instituto Nacional de Estadística - INE.

El mapa del artículo anterior solamente incluía datos del INE

  • Población (el 01/01/2022)
  • Área (km²)
  • Densidad (hab/km²)

Este mapa incluye además datos climáticos de temperatura, velocidad del viento y precipitaciones, elaborados utilizando datos de la AEMET:

  • Máximas (°C)
  • Mínimas máx. (°C)
  • Mínimas (°C)
  • Racha (km/h)
  • Velocidad máxima (km/h)
  • Precipitación (mm)

Los datos climáticos del mapa son los valores máximos por provincia del día elegido, entendiendo que son los valores mínimos de temperatura mínima.

He probado el mapa en la versión de escritorio de Excel para Microsoft 365 y debe funcionar también en Excel 2019 y Excel 2021, según indica esta página:

Crear un gráfico de mapa en Excel (microsoft.com)

En ese artículo ya expliqué cómo crear el mapa coroplético, por lo que no voy a volver a explicarlo, ni a incluir los datos extraídos del INE: población, área y densidad.

Durante el diseño de este mapa he aprendido trucos y tratamientos de datos que quiero compartir con mis lectores y seguidores, para que juntos podamos mejorar nuestros análisis de datos y nuestros conocimientos de Excel y Power Query.


Datos climáticos

La primera versión de este mapa incluye datos climáticos desde el 15 al 30 de junio, para demostrar su aplicación y para poder probarlo con el tiempo que hizo durante la ola de calor de junio.

Por cierto, mientras preparaba este mapa he contribuido, con mi granito de arena, en la redacción del siguiente artículo de Wikipedia:

Ola de calor en Europa de 2022 - Wikipedia, la enciclopedia libre

Como comencé a extraer los datos de la AEMET el 22 de junio, no conseguí extraer datos anteriores al 15 de junio, ya que solamente se pueden consultar los datos de hoy y de los 7 días anteriores desde esta página:

El Tiempo. Hoy y últimos días - Resúmenes diarios anteriores - Tabla - Agencia Estatal de Meteorología - AEMET. Gobierno de España

AVISO: He preferido escribir dos artículos, separando los datos climáticos del mapa propiamente dicho:

  • Describiendo el mapa del clima en este primer artículo y
  • Describiendo en un segundo artículo cómo extraer, transformar y cargar los datos climáticos, con la ayuda de Power Query.

Por lo que tienes que descargar dos plantillas distintas, una con el mapa que se verá más adelante, y otra con los datos elaborados.


Descarga de los datos climáticos

En primer lugar hay que descargar los datos climáticos de España, desde estos enlaces:

Abre la plantilla con una versión de Excel de escritorio a partir de Excel 2013 y presiona el botón: Habilitar edición

En un próximo artículo explicaré cómo conectar con los datos de la AEMET con Power Query, con lo que podrás consultar el clima acaecido en los días transcurridos en julio y en los próximos meses, siempre con datos de los 7 días anteriores o del tiempo transcurrido el día de hoy.

En este archivo hay una tabla denominada "HistorialTiempo", que contiene los datos históricos guardados con este formato:

Los campos de esta tabla son:

  • Fecha: Con el día del registro de los datos climáticos.
  • Provincia: Con el nombre de la provincia como aparece en el mapa.
  • Provincia2: Con el nombre de la provincia como aparece en los datos de la AEMET.
  • Valor climático: Valor máximo por provincia en un día de la temperatura máxima, mínima máxima, racha de viento, velocidad máxima y precipitación. Valor mínimo por provincia en un día de la temperatura mínima.
  • Estación climática: Estación donde se han registrado los datos climáticos.
  • Hora de registro del dato climático.


Descarga el mapa climático

En segundo lugar hay que descargar el mapa del clima en España, desde estos enlaces:

Abre la plantilla con una versión de Excel de escritorio a partir de Excel 2019 y presiona el botón: Habilitar edición

Aparece una ADVERTENCIA DE SEGURIDAD: Se han deshabilitado las conexiones de datos externos. Presiona el botón: Habilitar contenido

Esta plantilla no contiene macros, pero todas las hojas están protegidas sin contraseña, por lo que se pueden estudiar y analizar las fórmulas.

El mapa contiene datos de población, área y densidad de población aunque, por defecto, no contiene ningún dato climático. Para rellenar esos datos hay que seguir leyendo...


Cómo actualizar los datos climáticos

Para actualizar los datos climáticos se debe seleccionar la hoja 'Tiempo'.

Esta hoja contiene únicamente una tabla dinámica con cada uno de sus campos en la sección de las filas, aunque se muestran los campos en columnas, al haber elegido el diseño del informe en formato tabular.

El origen de datos de esta tabla dinámica es la tabla "HistorialTiempo", que contiene el archivo descargado en primer lugar: Consulta Tiempo AEMET - PW1.xlsx

ATENCIÓN: Para actualizar esta tabla dinámica deben estar abiertos tanto el archivo con los datos climáticos como el archivo con el mapa climático.

Pasos para actualizar los datos climáticos en el archivo descargado: Mapa Clima España PW1.xlsx

AVISO: Si has descargado los dos archivos en la misma carpeta, únicamente hace falta abrir los dos archivos y actualizar los datos del mapa, seleccionando en la cinta de opciones: Datos > Actualizar todo. Con lo que se actualizará la tabla dinámica de la hoja 'Tiempo'.

Si al Actualizar todo el archivo con los datos climáticos no está abierto, aparecerá un aviso: Abra este libro en Excel e inténtelo de nuevo.


Seguir estos pasos únicamente si los archivos no están en la misma carpeta, o si se quiere estudiar la conexión de datos entre los dos archivos:

1) Seleccionar en la cinta de opciones: Revisar > Proteger libro.

2) Hacer clic en Proteger libro, con lo que queda desmarcado ese botón y el libro se desprotege  sin contraseña.

3) Seleccionar en la cinta de opciones: Datos > Consultas y conexiones

4) Encima de la conexión: WorksheetConnection_Consulta_AEMET, hacer clic con el botón derecho del ratón para mostrar el menú contextual.

5) Seleccionar: Propiedades...

6) Seleccionar la pestaña: Definición

7) Editar el Texto del comando: C:\Users\Pedro Wave\Downloads\Consulta Tiempo AEMET - PW1.xlsx!HistorialTiempo[#Datos]

8) Presionar el botón: Aceptar, cuando hayas cambiado el nombre del usuario o la ruta completa donde está guardado el archivo descargado...

9) Seleccionar en la cinta de opciones: Datos > Actualizar todo

10) En la hoja 'Mapa' seleccionar el día 30 de junio en la escala de tiempos, por ejemplo, estando seleccionadas las temperaturas Máximas (ºC).

11) Opcionalmente, puedes volver a proteger el libro, seleccionando en la cinta de opciones: Revisar > Proteger libro.

12) Ya se puede cerrar el archivo: Consulta Tiempo AEMET - PW1.xlsx

Si has seguido estos pasos, ya se habrá actualizado la tabla dinámica de la hoja 'Tiempos' en el archivo con el mapa:

Y ya puedes usar el mapa del clima, pudiendo seleccionar:

  • Tipo de datos, con un cuadro combinado (ComboBox) se pueden seleccionar datos de población, área, densidad o datos climáticos.
  • Fecha, con una escala de tiempos se pueden seleccionar los días del 15 al 30 de junio.
  • Autonomías, con una segmentación de datos.
  • Provincias, con una segmentación de datos.
  • TOP5 de datos climáticos, con una barra de desplazamiento (ScrollBar) se pueden listar los datos climáticos ordenados de 5 en 5.

Truco 0: Si se selecciona más de una fecha en la escala de tiempos, la tabla dinámica de la hoja 'Tiempos' necesita crecer hacia abajo, pero se lo impide una tabla que está puesta en el rango A54:A55 a propósito...

Como la tabla dinámica no se puede superponer en esa tabla, se impide seleccionar más de una fecha en la escala de tiempo y aparece el aviso:


Cómo transformar los datos climáticos

En la hoja 'Provincias' se transforman los datos para presentarlos en el mapa.

Para consultar cómo se tratan los datos de población, área y densidad de cada provincia, hay que leer este artículo donde ya está explicado:

Mapa de Provincias de España en Excel | #ExcelPedroWave

Aquí explicaré los trucos con los que se consiguen tratar los datos climáticos.


Trucos para transformar los datos climáticos del mapa:

1) Columna Datos: El primer truco ha sido modificar la fórmula para añadir un valor residual al valor del dato, con lo que se consigue que los datos que son iguales sean distintos por unas millonésimas, con esta fórmula: 

=SI.ERROR(INDICE($E2:$M2;1;COINCIDIR(miMapa;miTipoDatos;0))+FILA()*0,000001;"")

Con un ejemplo se comprenderá mejor. El día 30 de junio las temperaturas máximas de Valencia; Murcia y Córdoba fueron iguales a 34,8 ºC.

Como el TOP5 se calcula con la función K.ESIMO.MAYOR, no se obtendrían las 3 provincias si no la primera de la lista repetida 3 veces, o sea Córdoba.

Truco 1: Sumar al valor de la temperatura: +FILA()*0,000001, con lo que se obtienen 3 temperaturas máximas distintas, pero prácticamente iguales a 34,8 ºC:

    • 34,800049 ºC en Valencia.
    • 34,800036 ºC en Murcia.
    • 34,800017 ºC en Córdoba.
Esa pequeña diferencia, en millonésimas de grado, consigue diferenciar esas 3 temperaturas máximas iguales, mostrando adecuadamente esas 3 provincias en el TOP5:

2) Columna Máximas (°C): Calculada con la fórmula:

=INDICE(Tiempo!$C$2:$C$53;[@[Fila Tiempo]])

3) Columna Mínimas máx. (°C): Calculada con la fórmula:

=INDICE(Tiempo!$F$2:$F$53;[@[Fila Tiempo]])

4) Columna Mínimas (°C): Calculada con la fórmula:

=SI(SUBTOTALES(103;[@Provincias])=0;100;[@Mínimas])
Truco 2: Hacer que las temperaturas mínimas se puedan ordenar de mínima a máxima. Con el número 103 de la función SUBTOTALES se calcula como la función CONTARA, con lo que vale 0 si la fila está oculta y, en ese caso, la fórmula devuelve un 100, temperatura que no se alcanzará en este siglo... ¿O sí?

5) Columna Racha (km/h): Calculada con la fórmula:

=INDICE(Tiempo!$L$2:$L$53;[@[Fila Tiempo]])

6) Columna Velocidad máxima (km/h): Calculada con la fórmula:

=INDICE(Tiempo!$O$2:$O$53;[@[Fila Tiempo]])

7) Columna Precipitación (mm): Calculada con la fórmula:

=INDICE(Tiempo!$R$2:$R$53;[@[Fila Tiempo]])

8) Columna Oculta: Vale un 0 si la fila está oculta y un 1 si la fila está visible, con la fórmula:

=SI(miMapa=Tiempo!$I$1;1;SI(Y(miMapa=Tiempo!$R$1;[@[Precipitación (mm)]]=0);0;SUBTOTALES(103;[@Provincias])))

Truco 3: Hacer que siempre estén visibles las filas con temperatura mínima y que se oculten las filas con precipitación a cero.

9) Columna Mínimas: Es una columna auxiliar con la temperatura mínima:

=INDICE(Tiempo!$I$2:$I$53;[@[Fila Tiempo]])

10) Columna Fila Tiempo: Obtiene la fila de la hoja 'Tiempo' con la fórmula:

=COINCIDIR([@[50 Provincias + 2 CA*]];misProvincias;0)

11) En la fila 54 con los totales se usan diferentes fórmulas, dependiendo del tipo de dato de cada columna de la tabla.

Truco 4: Este truco, basado en las fórmulas de totales, ¡no pienso explicarlo a no ser que alguien pregunte en un comentario!


Tratamiento del mapa climático

Lo más importante no es la visualización de los datos, que es el resultado final, sino el tratamiento de los datos para conseguir ese resultado.

Una vez visto el truco, vamos a ver el trato que se les da a los datos climáticos.

Trato 1: El origen de datos del mapa coroplético está en estas dos columnas de la hoja 'Provincias':

  • Columna C con las Provincias españolas y
  • Columna D con los Datos a visualizar.

En el anterior artículo en que está basado este mapa, para seleccionar el tipo de datos del mapa se empleaba una celda con lista desplegable de una validación de datos. Estas listas desplegables tienen el problema de que no se puede ajustar el tamaño de la letra, siendo demasiado pequeño y difícilmente accesible para personas con discapacidad.

Trato 2: El tipo de datos visualizados en el mapa se selecciona ahora con un cuadro combinado (ComboBox en inglés), con la letra agrandada para ver mejor el desplegable.

¿Qué desplegable prefieres? ¿El de la derecha con una validación de datos? ¿El de la izquierda con un cuadro combinado? ¡Ninguno de los dos necesita macros para interactuar!

Trato 3: Este cuadro combinado permite elegir la fuente del texto y su tamaño, modificando sus Propiedades en Fuente > Font. Seleccionando Calibri, aparece un botón con 3 puntos suspensivos. Al presionar ese botón (...) aparece una ventana para modificar el tipo de fuente, su estilo, su tamaño, etc... Se ha elegido:

  • Fuente: Calibri
  • Estilo: Negrita
  • Tamaño: 15

Trato 4: En Propiedades del cuadro combinado, seleccionar 2-fmStyleDropDownList en Apariencia > Style, con lo que se impide editar el cuadro combinado y únicamente deja seleccionar los 9 tipos de datos.

Trato 5: Seleccionar un 9 en Dato > ListRows, con lo que siempre aparecerán los 9 tipos de datos en el desplegable.

Trato 6: El rango R2:R11 está oculto y relacionado con el cuadro combinado por estas dos propiedades:

  • LinkedCell: R2
  • ListFillRange: R3:R11

Trato 7: El título del gráfico está en la celda E2, con esta fórmula que no tengo intención de explicar:

=SI(Y(miNúmDatos<>0;O(Y(miFecha>0;SI.ERROR(miTiempo;0)>0);SI.ERROR(COINCIDIR(miMapa;$R$3:$R$5;0);0)>0)); SI(DERECHA(miMapa;4)="(°C)";"Temperaturas ";"") & SUSTITUIR(miMapa;"(";"(" & TEXTO(miTotalDatos;"#.##0" & SI(DERECHA(miMapa;4)="(°C)";",0";"")) & " ");"ATENCIÓN: Fecha sin datos de "&miMapa) & SI(SI.ERROR(miTiempo;0)>0;SI(miFecha>0;" el "&TEXTO(miFecha;"d ""de"" mmmm") & " de "&AÑO(miFecha);"");"")


Tratamiento del TOP5 climático

La lista del TOP5 de provincias con los datos máximos, o mínimos para la temperatura mínima, se ha mejorado insertando una barra de desplazamiento vertical (ScrollBar), que permite ver de 5 en 5 provincias ordenadas según su valor climático.

Como ejemplo el TOP5 de temperaturas mínimas el día 30 de junio, aunque la columna Q está oculta en el mapa:

Trato 8: Barra de desplazamiento TOP5 con estas propiedades:

  • LargeChange: 5
  • SmallChange: 1
  • Max: 45
  • Min: 1
  • LinkedCell: K33

Trato 9: En K33 está el número del primer TOP5. En K34 la fórmula: =K33+1, arrastrada hasta la celda K37.

Trato 10: Partiendo de los números en el rango K33:K37 se obtienen los datos climáticos ordenados en el rango M33:M37, con la fórmula arrastrada a las celdas del rango:

=SI(O(miTotalDatos="";$K33>MiTotalProvincias);"";SI.ERROR(SI(miMapa=$R$8;K.ESIMO.MENOR(misDatosFiltrados;$K33);K.ESIMO.MAYOR(SI.ERROR(misDatosFiltrados;0);$K33));""))

Para ordenar los datos climáticos se usa la función K.ESIMO.MAYOR, excepto si son las temperaturas mínimas, para las que se usa la función K.ESIMO.MENOR. Se ocultan las celdas sin datos...

Hay que recordar el Truco 1, que hace que los datos climáticos siempre sean distintos al sumar unas millonésimas a cada dato climático, lo que permite ordenarlos sin duplicarlos...

Trato 11: Obtener las provincias en el rango L33:L37 partiendo de los datos climáticos del rango M33:M37, con la fórmula arrastrada a las celdas del rango:

=SI($M33=0;"";SI.ERROR(INDICE(miListaProvincias;COINCIDIR($M33;misDatosFiltrados;0));""))

Trato 12: En el rango invisible Q33:Q37 se calculan las filas de las provincias en la hoja 'Tiempo', con la fórmula:

=COINCIDIR(Mapa!$L33;misProvincias;0)

Trato 13: La hora del rango N33:N37 se calcula con la fórmula que elige el rango dependiendo del tipo de dato:

=SI.ERROR(INDICE(ELEGIR(miTiempo;Tiempo!$E$2:$E$53;Tiempo!$H$2:$H$53;Tiempo!$K$2:$K$53;Tiempo!$N$2:$N$53;Tiempo!$Q$2:$Q$53);$Q33);"")

No hay hora para el dato de precipitación pues es la que cae durante las 24 horas del día. 

Trato 14: La estación meteorológica en el rango O33:O37 se calcula con la fórmula que elige el rango dependiendo del tipo de dato:

=SI.ERROR(INDICE(ELEGIR(miTiempo;Tiempo!$D$2:$D$53;Tiempo!$G$2:$G$53;Tiempo!$J$2:$J$53;Tiempo!$M$2:$M$53;Tiempo!$P$2:$P$53;Tiempo!$S$2:$S$53);$Q33);"")

Trato 15: Las cabeceras del TOP5 se rellenan con estas fórmulas:

  • L32: TOP5 Provincias
  • M32: =miMapa
  • N32: =SI(O(miMapa=Tiempo!$C$1;miMapa=Tiempo!$F$1;miMapa=Tiempo!$I$1;miMapa=Tiempo!$L$1;miMapa=Tiempo!$O$1);"Hora";"")
  • O32: =SI(O(miMapa=Tiempo!$C$1;miMapa=Tiempo!$F$1;miMapa=Tiempo!$I$1;miMapa=Tiempo!$L$1;miMapa=Tiempo!$O$1;miMapa=Tiempo!$R$1);"Estación";"")

Con estos 15 tratamientos del TOP5 de datos climáticos se consigue este efecto, viéndose todas las provincias ordenadas según el valor máximo registrado en cada provincia durante el día elegido:

NOTA: Con las fórmulas anteriores se ha corregido el error que mostraba datos duplicados, por ejemplo 3 veces la provincia de Córdoba en el primer TOP5, cosa que ocurre en esta imagen animada, y que me ha costado corregir un poco más de la cuenta, ¡hasta que se me ha ocurrido añadir el Truco 1 visto antes!


Cómo extraer los datos climáticos con Power Query

Como este artículo ya es demasiado extenso, he dejado para un nuevo artículo los pasos aplicados en Power Query para extraer, transformar y cargar los datos climáticos de los ficheros de la AEMET:

Datos climáticos con Power Query | #ExcelPedroWave

Desde este nuevo artículo podrás descargar la actualización del archivo ¡con la consulta del tiempo pasado!

4 Response to "Mapa del clima español"

.
gravatar
Excel Pedro Wave Says....

Como un plus, acabo de explicar el Truco 0 (¡sí, el truco número cero!) que impide seleccionar más de una fecha en una escala de tiempo.
Seleccionar varias fechas ¡¡¡ es imposible !!! ¿Cómo te quedas?
Vuelve a leer este artículo y averigua cómo está hecho el Truco 0 dentro de este Mapa del clima español.

.
gravatar
Talento Says....

Cómo puedo descargar una versión del mapa de España para Excel 365. Me da error al habilitar el modo edición de tu descargable. Gracias

.
gravatar
Talento Says....

"Este gráfico no está disponible en su versión de Excel", ¿Puedes indicarme cómo poder utilizar tu mapa para Excel 365? Me da error al habilitar el modo edición de tu descargable. Gracias!!!!!!!

.
gravatar
Excel Pedro Wave Says....

Tendrás que preguntarle a Microsoft por qué no está disponible el gráfico en tu versión de Excel. A mí no me da error en Excel 365 al habilitar la edición.

De todos modos descarga y prueba esta versión más actualizada:
Mapa y gráfico del clima en España

Leave A Reply

Dime si te gusta lo que lees y, si no te gusta, dime por qué. Tengo habilitada la moderación de comentarios. Tu comentario se publicará pronto.

Mi lista de blogs