Excel
Lo que Excel ofrece de serie para los tipos de cambio es el tipo de datos Monedas de Microsoft 365: un tipo de cambio combinado en tiempo real que no puedes fijar a una fuente ni usar para consultar el histórico. En Frankfurter puedes ver de qué fuentes sale el tipo combinado y, cuando la fuente tiene que ser exacta, fijar una sola institución: el tipo de referencia del BCE para el IVA en la UE, el NBP de Polonia o el PTAX de Brasil. El histórico de un proveedor fijado se queda tal como se publicó. Power Query hace el trabajo en Windows y en Mac. Windows tiene además una fórmula de una línea para conversiones rápidas.
Power Query
Es la vía principal tanto en Windows como en Mac. Ve a Datos, Desde la web, pega el endpoint CSV y carga una tabla date,base,quote,rate. Actualízala cuando quieras con Datos, Actualizar todo:
https://api.frankfurter.dev/v2/rates.csv?base=usd"es=eurPide varias divisas a la vez separándolas con comas:
https://api.frankfurter.dev/v2/rates.csv?base=usd"es=eur,gbp,jpyConvertir un importe
Power Query carga el tipo, no el total convertido. Multiplica tu importe por la celda con el tipo cargado. Para una conversión puntual sin consulta, Microsoft 365 en Windows puede llamar a la API desde la propia fórmula. Añade una función con nombre (Fórmulas, Administrador de nombres, Nuevo) llamada FRANKFURTER con esta definición:
=LAMBDA(amount, from, to, [date], amount * NUMBERVALUE(TEXTBEFORE(TEXTAFTER(WEBSERVICE("https://api.frankfurter.dev/v2/rate/" & from & "/" & to & IF(ISOMITTED(date), "", "?date=" & YEAR(date) & "-" & TEXT(MONTH(date), "00") & "-" & TEXT(DAY(date), "00"))), """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)) WEBSERVICE solo existe en Windows y, como las fórmulas de Excel no tienen parser JSON, la función extrae el tipo directamente del texto de la respuesta. NUMBERVALUE con un punto decimal explícito hace que siga funcionando en las configuraciones regionales que usan coma. En Mac, multiplica por una celda con el tipo cargado desde Power Query.
Fijar una fuente oficial
Por defecto obtienes el tipo combinado de todas las fuentes. Añade providers a la URL de la consulta para fijar una sola institución. Esto importa en impuestos y contabilidad: muchos países exigen el tipo publicado por su propio banco central para convertir importes en moneda extranjera.
https://api.frankfurter.dev/v2/rates.csv?base=usd"es=eur&providers=ecbECB- Tipo de referencia del Banco Central Europeo, el estándar para IVA y aduanas en la UE.
NBP- Narodowy Bank Polski. En Polonia, el IVA y el impuesto sobre sociedades se convierten al tipo del NBP.
CNB- Fixing del Banco Nacional Checo, usado en la contabilidad y los impuestos checos.
BCB- PTAX del Banco Central do Brasil, la referencia para contratos e impuestos en Brasil.
BANXICO- Tipo FIX del Banco de México para liquidar obligaciones en dólares estadounidenses.
Consulta todas las fuentes. Una fuente fijada sigue su propio calendario de publicación, así que su último tipo puede ir un día por detrás del último tipo combinado.
Series históricas
Usa from para un rango de fechas y group=month para reducirlo a una fila por mes, listo para un gráfico. Cárgalo con Power Query y se actualizará como cualquier otra consulta. El histórico combinado puede moverse un poco cuando llegan datos nuevos, así que fija un proveedor cuando las cifras no deban cambiar.
https://api.frankfurter.dev/v2/rates.csv?from=1949-12-01&base=usd"es=gbp&providers=bbk&group=month Esto trae el dólar estadounidense frente a la libra desde 1949, del archivo del Deutsche Bundesbank. Verás cómo la paridad de 2,80 dólares por libra se mantiene fija durante años y se rompe en 1967. El histórico más antiguo sale de los fixings de Fráncfort del Bundesbank: el dólar frente al marco desde 1948 y la mayoría de los demás cruces con el dólar de 1949 a 1970. A partir de 1999 toma el relevo el Banco Central Europeo, así que para una serie moderna continua usa el tipo combinado por defecto o providers=ecb.