Power Query sirve para cargar la tabla de tipos; las fórmulas hacen la conversión. La consulta usa /v1/latest/USD, convierte el JSON en una tabla de dos columnas y se actualiza cuando abres el libro o pulsas Actualizar todo. Si buscas un resultado para una fecha concreta, usa la herramienta histórica y guarda la fecha con el resultado. Para fórmulas de conversión y un ejemplo editable, consulta la guía de conversión de divisas en Excel. Para una fecha concreta, usa la herramienta histórica en inglés y conserva la fecha y la fuente junto al resultado.
- Power Query M viene incluido en Excel para Mac y Windows, sin complementos, y sin
WEBSERVICE(), que solo existe en Windows y se rompe en Mac. - Una sola llamada a
/v1/latest/{base}devuelve todos los tipos; separa la URL base delRelativePathpara que la actualización programada siga funcionando. - Pasa la clave como
Authorization: Bearer exr_live_..., o comoX-API-Keysi el conector no te deja fijar la cabecera Authorization. - El plan gratuito son 5,000 llamadas al mes a 10 peticiones por minuto, sin tarjeta.
- Los tipos son indicativos, sirven para modelos, análisis y visualización, no para liquidar una operación.
- Una clave gratuita incluye 5.000 llamadas al mes y 10 solicitudes por minuto; no hace falta tarjeta.
Consigue una clave gratuita
Regístrate en exchangerate.dev/signup. Tras confirmar el correo, el panel muestra una clave que empieza por exr_live_. Cópiala: la vas a pegar en la consulta como parámetro. El plan gratuito son 5,000 llamadas al mes, sin tarjeta.
Abre el editor de Power Query
En la cinta de Excel, haz clic en Datos → Obtener datos → Iniciar el editor de Power Query. Dentro del editor, ve a Inicio → Nuevo origen → Consulta en blanco y después a Vista → Editor avanzado. En el siguiente paso pegarás ahí la consulta M.
Pega la consulta M
Sustituye el contenido del editor por la consulta de abajo, pulsa Listo y renombra la consulta como FxRates en el panel derecho. El argumento RelativePath no es opcional: sin él, la actualización programada de Microsoft 365 falla con un error de credenciales.
// excel: Power Query M query "FxRates"// curl-equivalent: https://api.exchangerate.dev/v1/latest/USD// Private workbook only: do not share or export this query with a key.// Replace ApiKey with your exchangerate.dev key from /signuplet ApiKey = "exr_live_replace_with_your_key_here", Base = "USD", Source = Json.Document( Web.Contents( "https://api.exchangerate.dev", [ RelativePath = "v1/latest/" & Base, Timeout = #duration(0, 0, 0, 10), Headers = [#"Authorization" = "Bearer " & ApiKey] ] ) ), Rates = Record.ToTable(Source[rates]), Renamed = Table.RenameColumns(Rates, {{"Name", "currency"}, {"Value", "rate"}})in RenamedCarga a una hoja y elige Anónimo
Haz clic en Inicio → Cerrar y cargar. Excel deja en una hoja nueva una tabla de dos columnas: moneda y tipo. La primera vez, Excel pregunta cómo autenticarse contra https://api.exchangerate.dev: elige Anónimo. La clave viaja en la cabecera, no en la URL, así que Anónimo es lo correcto. Pulsa Ctrl+Alt+F5 para actualizar cuando quieras.
Cambia la moneda base o filtra a unos pocos pares
Cambia Base para expresar todos los tipos en otra moneda, o añade una consulta symbols para recibir solo los pares que necesitas: menos filas, la misma llamada única:
// Re-base every rate to the euroBase = "EUR"// Return only the quote currencies you need (one call, fewer rows)RelativePath = "v1/latest/USD",Query = [symbols = "EUR,GBP,JPY"]// One pair, rate calculated for youRelativePath = "v1/convert/USD/JPY/1" // read Source[rate]exchangerate.dev publica un servidor MCP y un llms.txt, así que Claude, Cursor o ChatGPT pueden leer el esquema en vivo y escribirte la consulta. Pídeselo así: «escribe una consulta M de Power Query para Excel que traiga los tipos de USD desde exchangerate.dev con mi clave en la cabecera Authorization, usando RelativePath para que funcione la actualización». Ver la guía de MCP.
Actualización y encaje en el plan gratuito
Excel no consulta por su cuenta. La tabla se actualiza al abrir el libro, al pulsar Actualizar todo, o si configuras una actualización periódica en Datos → Consultas y conexiones → Propiedades. Las cuentas salen holgadas dentro del plan gratuito:
- 5,000 llamadas al mes, 10 peticiones por minuto, sin tarjeta
- Un modelo típico gasta un puñado de llamadas al día (al abrir el libro y alguna actualización manual)
- Incluso actualizando cada 5 minutos durante la sesión de mercado te quedas cerca de 100 llamadas diarias
- Cubre
/v1/latest,/v1/convert,/v1/rangey/v1/{date}/{base}
| Código | Síntoma | Solución |
|---|---|---|
| 401 | DataSource.Error: 401 | La clave falta o no es válida. Vuelve a pegarla en ApiKey y borra cualquier credencial guardada en Datos → Obtener datos → Configuración del origen de datos para api.exchangerate.dev. |
| 429 | 429 Too Many Requests | Has pasado el tope de 10 por minuto. Escalona las actualizaciones entre consultas, o sube de plan en /pricing. |
| — | Excel pide credenciales una y otra vez | Te has conectado a la URL completa en vez de usar RelativePath. Copia la consulta de arriba con la base separada y elige Anónimo. |
Estos tipos se publican para modelos, análisis y visualización. No son una cotización en firme: no los uses para liquidar una operación ni una transferencia. Cada respuesta lo indica en su campo notice.
Puedes llamar a /v1/latest/USD sin clave y ver un JSON con la misma estructura que analiza la consulta M. Cuando encaje, una clave gratuita le da a tu libro su propia cuota de 5,000 llamadas al mes: sin tarjeta.