Tipos de cambio en vivo en Google Sheets
Conecta exchangerate.dev a una función personalizada =FXRATE() con Apps Script, con caché y manejo de errores. Plan gratuito: 10,000 llamadas al mes, sin tarjeta.
Para tener tipos de cambio en vivo en Google Sheets, pega una función personalizada de Apps Script que llame a /v1/latest/{base} con tu clave en la cabecera Authorization, y luego escribe =FXRATE("USD","EUR") en cualquier celda. Una clave gratuita cubre 10,000 llamadas al mes, sin tarjeta. La función de abajo guarda en caché diez minutos y controla los dos errores que te vas a encontrar de verdad. Es el input de FX vivo para un modelo o un panel que mantienes en Sheets.
=FXRATE("USD","JPY") en cualquier celda — sin instalar complementos./v1/latest/{base}?symbols={quote} devuelve el par que pides.Authorization: Bearer exr_live_...; CacheService te mantiene dentro de la cuota.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 Apps Script en un momento. El plan gratuito son 10,000 llamadas al mes, sin tarjeta.
Abre Apps Script desde tu hoja
Abre cualquier hoja de Google. En el menú, haz clic en Extensiones → Apps Script. Se abre una pestaña nueva con una función function myFunction() {} por defecto. Borra su contenido: lo vas a sustituir en el siguiente paso.
Pega la función FXRATE
Sustituye el contenido del editor por esta función. Llama a exchangerate.dev, guarda cada par en caché diez minutos con CacheService y devuelve un marcador legible para los dos errores que puedes encontrarte (401 y 429).
Usa =FXRATE() en cualquier celda
De vuelta en la hoja, escribe =FXRATE("USD","EUR") en una celda vacía. Al cabo de un segundo la celda muestra el tipo actual. La misma función vale para cualquier par soportado: cambia los dos códigos de moneda:
Por dentro, cada llamada devuelve la base, el par por el que has filtrado y dos campos de frescura — source y market_session — para que sepas siempre cómo de actual es el número:
llms.txt, así que Claude, Cursor o ChatGPT pueden leer el esquema en vivo y escribirte la función. Pídeselo así: «crea una función personalizada de Google Sheets llamada FXRATE que reciba una moneda de origen y una de destino y devuelva el tipo en vivo de exchangerate.dev, con una caché de diez minutos». Ver la guía de MCP.Actualización y encaje en el plan gratuito
Apps Script no vuelve a ejecutar las funciones personalizadas por temporizador. Para actualizaciones periódicas, añade un activador por tiempo: en el panel izquierdo de Apps Script, haz clic en Activadores → Añadir activador, elige FXRATE, origen Según tiempo, Temporizador por minutos. La caché de diez minutos más una cuota generosa dejan tranquilo hasta a un libro muy usado:
- 10,000 llamadas al mes, 12 peticiones por minuto, sin tarjeta
CacheServicedevuelve el tipo cacheado durante 10 minutos, así que editar repetidamente no cuesta nada- Sube
CACHE_TTLsi una hoja con muchos pares llega a rozar el tope por minuto - Cubre
/v1/latest,/v1/convert,/v1/rangey/v1/{date}/{base}
notice.