Llevamos dos años con cambios continuos, desde cómo nos juntamos o nos aislamos para procurar no contagiarnos, hasta cómo nos suben los precios debido a la crisis energética y a la guerra en territorio europeo, sin olvidar los volcanes, las inundaciones, las heladas en primavera, el cambio climático. Pero no voy a hablar de esos cambios que nos alteran la vida últimamente, sino de los cambios de monedas. ¡Sí, del vil metal!
Ya lo decía el genial humorista Groucho Marx:
Hay tantas cosas en la vida más importantes que el dinero…
¡Pero cuestan tanto!
En Excel para Microsoft 365 y en Excel para la Web se puede obtener un tipo de cambio 💴💵 entre dos monedas, como explica Microsoft:
Con el tipo de datos Monedas, se pueden obtener y comparar fácilmente los tipos de cambio de todo el mundo, y crear un conversor de divisas en tiempo real, que podrás probar y descargar más abajo. 💱
En este artículo, aprenderás a escribir pares de moneda, convertirlos en un tipo de datos y extraer más información para obtener datos sólidos, como son las monedas contantes y sonantes. 🪙
Podrás escribir los nombres de dos países y obtener el cambio de moneda, como se aprecia en esta imagen:
Para convertir dólares a euros, escribe en una celda: USD/EUR ó USD:EUR
Selecciona la celda y, en la pestaña Datos, selecciona el tipo de datos Monedas.
Si el proveedor de datos monetarios de Excel encuentra una coincidencia entre el par de divisas, el texto se convertirá en un tipo de datos y verás el icono Monedas , por ejemplo en las celdas C5 y C6 de la imagen de arriba. Este icono permite Mostrar tarjeta, aunque también se mostrará la tarjeta con los datos presionando la combinación de teclas: Control + Mayús + F5. En la imagen de la derecha hay un ejemplo de tarjeta con los cambios de moneda de ejemplo.
Si ves el icono hay un problema con la conversión de monedas.
En la imagen de arriba se han convertido UAH a EUR y EUR a UAH en las celdas C5 y C6, obteniendo el Precio del cambio en las celdas D5 y D6 respectivamente.
Para extraer más información del tipo de datos Monedas, selecciona una o más celdas convertidas y selecciona el botón Insertar datos que aparece arriba a la derecha.
Puedes actualizar los datos en cualquier momento desde el menú: Datos > Actualizar todo
Los orígenes de datos financieros provienen de la empresa: Refinitiv, de acuerdo con esta página:
Acerca de los orígenes de datos financieros bursátiles (microsoft.com)
En cualquier caso siempre aparecerá esta advertencia:
Por lo que no sirve para propósitos oficiales ni comerciales la conversión a pares de monedas que proporciona Excel para Microsoft 365 y Excel para la Web.
Si no tienes una suscripción a Excel para Microsoft 365, puedes probar a cambiar monedas en la Web o en la nube de Microsoft OneDrive:
En la nube se pueden cambiar los países con un desplegable en las celdas A6 y D6, que además se puede seleccionar comenzando a escribir el nombre del país. A continuación se selecciona el código de la moneda con un desplegable en las celdas B6 y E6.
Pero no se puede cambiar el tipo de cambio de las celdas A2 y A3, ni se actualiza el precio de las celdas B2 y B3. Eso sí, se pueden cambiar las cantidades de las celdas C2 y C3 para calcular los valores de las celdas E2 y E3.
También se puede hacer clic en el icono Monedas para mostrar la tarjeta con los datos del cambio de monedas.
Está claro que no vale para cambiar monedas, solamente para probar los nuevos tipos de cambios de moneda para los que no tengan instalado Excel para Microsoft 365, con datos fijos de cambio entre las monedas ucraniana y europea: grivna ₴ y euro €.
Para cambiar monedas descarga la plantilla v2.0 desde cualquiera de estos enlaces:
- Microsoft OneDrive: Cambiar Monedas - PW2.xlsm
- Sites Google Drive: Cambiar Monedas - PW2.xlsm
Abre la plantilla con Excel para Microsoft 365 y presiona el botón: Habilitar edición
Si aparece una ADVERTENCIA DE SEGURIDAD: Se han deshabilitado las conexiones de datos externos o se deshabilitó parte del contenido activo, se debe presionar el botón: Habilitar contenido
Esta plantilla contiene macros y no está protegida, por lo que se pueden estudiar y analizar las fórmulas y el código VBA.
Gracias a las macros se puede realizar el cambio automático entre monedas.
Esta plantilla es muy fácil de usar, eligiendo dos países automáticamente aparecen sus respectivas monedas y el cambio directo e inverso entre ellas.
Pasos a seguir para cambiar monedas:
1) Seleccionar el primer país en la celda A6, con un desplegable o, mejor aún, comenzando a escribir el nombre del país que se completará automáticamente. Por ejemplo, si escribimos las 3 letras rus aparecerá rusIA, y presionando la tecla Retorno, se completará el nombre de RUSIA en mayúsculas.
Automáticamente se mostrará el primer código de moneda para el país elegido en la celda B2.
Si hay más de un código para ese país, se puede seleccionar cualquiera de ellos con un desplegable en esa celda. Por ejemplo, Namibia tiene dos monedas: NAD (Dólar de Namibia) y ZAR (Rand).
2) Seleccionar el segundo país en la celda D6, y el código de moneda en la celda E6, igual que se ha hecho en el paso 1)
3) Obtener los tipos de cambio: Automáticamente cambian las celdas A2 y A3, siendo esta última el tipo de cambio inverso de moneda. Además aparece el precio del cambio en las celdas B2 y B3.
4) Cambiar el símbolo de las monedas: Este paso es opcional. Por defecto aparece el símbolo: ¤ Latina.
Seleccionar las celdas B2 y B3 si se quiere mostrar el símbolo de las monedas.
Hacer clic en el símbolo de Advertencia: El formato de número aplicado a esta celda puede ser engañoso
Con lo que aparece el menú contextual que se muestra en la imagen de la derecha.
Haciendo clic en Actualizar formato se mostrará el formato de moneda adecuado.
A veces el símbolo de moneda será equivocadamente situado, por ejemplo a la izquierda en lugar de a la derecha, como pasa con el euro €.
Para corregirlo, se selecciona las celdas B2 y B3 con el Precio, y se cambia el formato del número de celda.
En la Categoría Contabilidad, se selecciona el Símbolo: € Euro (123 €), y se presiona el botón: Aceptar
5) Introducir la cantidad de monedas a cambiar, en las celdas C2 y
C3.
6) Obtener el Valor automáticamente en las celdas E2 y E3, con los nombres de divisas respectivos en las celdas D2, D3, F2 y F3.
En este videotutorial explico cómo cambiar monedas de forma gratuita, tanto en Excel incrustado en la nube y en Excel para la Web, como en Excel para Microsoft 365, pagando una suscripción.
Si abres el vídeo en YouTube puedes dirigirte rápidamente a una parte del vídeo, abriendo su descripción y eligiendo alguna de los tiempos registrados de comienzo de un capítulo.
A continuación explico la parte técnica de este cambiador de monedas hecho con el tipo de datos de conversión entre pares de monedas que viene incluido en Excel para Microsoft 365 y en Excel para la Web.
He realizado dos consultas con Power Query:
- Currency: Extrae datos en XML de las monedas y países en inglés, incluyendo el número de decimales de cada moneda, conectándose a esta página:
Creando la hoja Currency.
- Divisas: Extrae datos de monedas y países en español, conectándose a esta página:
Creando la hoja Divisas.
En la hoja Divisas he añadido la columna Unidades con el número de decimales de cada moneda, obtenido a partir de la tabla de la hoja Currency.
He insertado una tabla dinámica con origen en la tabla Divisas y la he copiado dos veces, a partir de las celdas A7 y D7, estando ocultas esas filas. Contiene un listado de países únicos.
Como están debajo de las celdas A6 y D6, donde se eligen los países, cuando se comience a escribir el nombre de un país se autocompletará automáticamente, facilitando la búsqueda entre 268 países.
He creado el nombre definido MiListaPaíses con la fórmula:
=Cambiar!$A$8:INDICE(Cambiar!$A$8:$A$259;CONTARA(Cambiar!$A$8:$A$259))
Este es el origen de la validación de datos de las celdas A6 y D6, que muestra un desplegable con los países sin repetir.
Al elegir un país se rellenan los códigos de monedas de ese país con una fórmula matricial en B7# o E7#, origen de la lista desplegable con validación de datos de las celdas B6 y E6, mediante fórmulas del tipo:
=ORDENAR(UNICOS(FILTRAR(Divisas[Código];Divisas[País]=A$6)))
Y automáticamente aparecen los códigos de las monedas en las celdas B6 y E6, gracias al evento Worksheet_Change de la hoja Cambiar, con el siguiente código:
Cuando cambian los códigos de las monedas se lanza la macro: CambiarMonedas en el módulo: MóduloCambiar
Que llama dos veces a la macro CambiarMisMonedas, invocando al servicio de Conversión de pares de monedas, sobre los pares de monedas escritos en las celdas A2 y A3 y separados por el símbolo /, mediante esta instrucción:
.ConvertToLinkedDataType ServiceID:=268435462, LanguageCulture:="es-ES"
También se llama a la macro CambiarDecimales, para cambiar el número de decimales modificando el formato de los números.
Las fórmulas de las celdas B2 y B3 se refieren a un parámetro de la conversión, con fórmulas del tipo: =A2.Precio
En las celdas ocultas H2 y H3 se han escrito fórmulas del tipo: =A2.[Símbolo bursátil]
Con esos valores se calculan los números de decimales en las celdas ocultas G2 y G3:
=SI.ERROR(INDICE(Divisas[Unidades];COINCIDIR(IZQUIERDA($H2;3);Divisas[Código];0));2)
También los nombres de las divisas de las celdas D2, D3, F2 y F3, con la fórmula:
=SI.ERROR(INDICE(Divisas[Divisa];COINCIDIR(IZQUIERDA($H2;3);Divisas[Código];0));"")
Y su valor de cambio en las celdas E2 y E3 con la fórmula:
=SI.ERROR($C2*SI(IZQUIERDA($H2;3)=DERECHA($H2;3);1;$B2);"")
Que es a lo que queríamos llegar, a saber cuánto vale una moneda respecto a otra...
En la Web hay muchos conversores de monedas, pero no hay tantos que permitan ser incrustados en un blog, por lo que he incrustado este conversor como ejemplo, donde puedes cambiar a la pestaña Tipos de cambio:
Para escribir este artículo me he inspirado en estas páginas:
- Lista de códigos de divisa por país (ISO 4217) (iban.com)
- ISO 4217 - Wikipedia, la enciclopedia libre
- Cambio de Grivna Ucrania (UAH) a Euro (EUR) (themoneyconverter.com)
- Foreign Exchange Rates API | Xignite
- ISO - ISO 4217 — Currency codes
- Xe Currency Converter - Live Exchange Rates Today
- [MS-OE376]: Part 4 Section 7.6.2.39, LCID (Locale ID) | Microsoft Docs
- Método Range.ConvertToLinkedDataType (Excel) | Microsoft Docs
Espero que te haya gustado este método de cómo cambiar monedas, integrado en las suscripciones de Excel, y que hayas aprendido tanto como yo he aprendido mientras preparaba este artículo.