Aprender/Inicio rápido con Excel

Cómo obtener tipos de cambio en Excel con Power Query

Pega una consulta M en Excel y carga una tabla de divisas que se puede actualizar. Funciona igual en Mac y Windows, sin complementos, y cabe de sobra en el plan gratuito.

ERexchangerate.dev·Jun 29, 2026·5 min de lectura

Si necesitas tipos de cambio dentro de un libro, usa Power Query en lugar de WEBSERVICE(). La consulta de abajo llama a /v1/latest/USD, convierte el JSON en una tabla de dos columnas y se actualiza al abrir el archivo o al pulsar Actualizar todo. Es una forma práctica de alimentar un DCF, una hoja de coberturas o una cuenta de resultados multidivisa sin dejar una tasa fija olvidada en una celda.

Puntos clave
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 del RelativePath para que la actualización programada siga funcionando.
Pasa la clave como Authorization: Bearer exr_live_..., o como X-API-Key si el conector no te deja fijar la cabecera Authorization.
El plan gratuito son 10,000 llamadas al mes a 12 peticiones por minuto, sin tarjeta.
Los tipos son indicativos — sirven para modelos, análisis y visualización, no para liquidar una operación.

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 10,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.

Power Query · Advanced Editorcopy
// 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 /signup
let
    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
    Renamed

Carga 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:

Power Query · variantscopy
// Re-base every rate to the euro
Base = "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 you
RelativePath = "v1/convert/USD/JPY/1"   // read Source[rate]
¿Lo estás montando con un asistente de IA?
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:

  • 10,000 llamadas al mes, 12 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/range y /v1/{date}/{base}
CódigoSíntomaSolución
401DataSource.Error: 401La 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.
429429 Too Many RequestsHas pasado el tope de 12 por minuto. Escalona las actualizaciones entre consultas, o sube de plan en /pricing.
Excel pide credenciales una y otra vezTe has conectado a la URL completa en vez de usar RelativePath. Copia la consulta de arriba con la base separada y elige Anónimo.
Tipos indicativos, no para liquidación
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.
Prueba el endpoint antes de montar la consulta
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 10,000 llamadas al mes — sin tarjeta.
ER
exchangerate.dev
Guías de integración para desarrolladores.

Sigue leyendo

TutorialTipos de cambio en vivo en Google SheetsLeer TutorialConversión de divisas en JavaScript y Node.jsLeer TutorialCómo obtener tipos de cambio en PythonLeer
Más ComparacionesFixer vs exchangerate.devOpen Exchange Rates vs exchangerate.devCurrencylayer vs exchangerate.dev
AprenderConversión de divisas en JavaScript y Node.jsCómo obtener tipos de cambio en PythonTipos de cambio en Next.js y TypeScript
Tasas en VivoEUR/USDGBP/USDUSD/JPY