Google Sheets
Google Sheets ya incluye GOOGLEFINANCE, y para una conversión rápida cualquiera de los dos métodos funciona. Ambos ofrecen un tipo de mercado mixto, y las fórmulas siguientes pueden colocarse donde pondrías GOOGLEFINANCE. La diferencia radica en la procedencia. La combinación de GOOGLEFINANCE no identifica sus fuentes y no permite elegir qué entra en ella. La combinación de Frankfurter es transparente, y cuando la fuente debe ser exacta puedes fijar una autoridad: el tipo de referencia del BCE para el IVA de la UE, el NBP de Polonia o el PTAX de Brasil. También obtienes tipos históricos que no sufren modificaciones retroactivas.
Inicio rápido
Sin configuración ni clave API. Inserta un tipo en vivo en una celda con IMPORTDATA y el endpoint CSV:
=IMPORTDATA("https://api.frankfurter.dev/v2/rates.csv?base=usd"es=eur") Sheets crea una pequeña tabla date,base,quote,rate. La columna date llega como un número de serie. Selecciónala y elige Formato, Número, Fecha para visualizarla correctamente. Solicita varias cotizaciones a la vez separándolas con comas:
=IMPORTDATA("https://api.frankfurter.dev/v2/rates.csv?base=usd"es=eur,gbp,jpy")Convertir un importe
IMPORTDATA devuelve el tipo de cambio, no el total convertido. Multiplica tu importe por la celda del tipo importado, o usa la siguiente función personalizada para una llamada limpia y directa.
Función personalizada
Para disponer de una función reutilizable =FRANKFURTER(), añade un breve script de Apps Script. En tu hoja, abre Extensiones, Apps Script, pega esto y guarda:
function FRANKFURTER(amount, from, to, date) {
let url = `https://api.frankfurter.dev/v2/rate/${from}/${to}`;
if (date) url += `?date=${Utilities.formatDate(date, "UTC", "yyyy-MM-dd")}`;
const data = JSON.parse(UrlFetchApp.fetch(url).getContentText());
return amount * data.rate;
}Luego llámala desde cualquier celda:
=FRANKFURTER(100, "usd", "eur")Pasa una fecha para obtener un tipo histórico:
=FRANKFURTER(100, "usd", "eur", DATE(2020, 1, 2))Fijar una fuente oficial
Por defecto obtienes la combinación de todas las fuentes. Añade providers para fijar una sola entidad. Esto es fundamental para temas fiscales y contables: muchas jurisdicciones exigen el tipo oficial de su propio banco central al convertir importes en moneda extranjera.
=IMPORTDATA("https://api.frankfurter.dev/v2/rates.csv?base=usd"es=eur&providers=ecb")ECB- Tipo de referencia del Banco Central Europeo, el estándar para IVA y aduanas en la UE.
NBP- Narodowy Bank Polski. El IVA y el impuesto de sociedades en Polonia se calculan al tipo del NBP.
CNB- Fijación del Banco Nacional Checo, referencia para contabilidad e impuestos en Chequia.
BCB- PTAX del Banco Central do Brasil, referencia para contratos e impuestos en Brasil.
BANXICO- Tipo FIX de Banco de México para saldar compromisos en dólares estadounidenses.
Explora todas las fuentes. Una fuente fijada sigue su propio calendario de publicación, por lo que su último tipo puede ir un día por detrás del tipo combinado más reciente.
Series históricas
Usa from para un rango de fechas y group=month para reducirlo a una fila por mes, listo para generar gráficos. Aquí es donde Frankfurter demuestra su utilidad en hojas de cálculo: series largas y estables que no cambian silenciosamente.
=IMPORTDATA("https://api.frankfurter.dev/v2/rates.csv?from=1949-12-01&base=usd"es=gbp&providers=bbk&group=month") Eso recupera el tipo del dólar estadounidense frente a la libra hasta 1949 del archivo del Deutsche Bundesbank. Puedes observar cómo la paridad de 2,80 $ se mantuvo firme durante años y se rompió en 1967. La historia profunda procede de las fijaciones de Fráncfort del Bundesbank: el dólar frente al marco desde 1948, y la mayoría de los demás cruces del dólar de 1949 a 1970. El Banco Central Europeo toma el relevo desde 1999, por lo que una serie moderna continua utiliza la combinación por defecto o providers=ecb.