Google Sheets
O Google Sheets já possui a função GOOGLEFINANCE, e para conversões rápidas ambas funcionam. Ambas fornecem uma taxa de mercado combinada, e as fórmulas abaixo podem ser usadas onde você colocaria GOOGLEFINANCE. A diferença é a fonte. A combinação do GOOGLEFINANCE não identifica suas fontes e não permite escolher o que entra nela. A combinação do Frankfurter é transparente, e quando a fonte precisa ser exata você pode fixar uma autoridade: a taxa de referência do BCE para IVA da UE, o NBP da Polônia ou a PTAX do Brasil. Você também obtém taxas históricas que não mudam silenciosamente.
Início rápido
Sem configuração e sem chave de API. Insira uma taxa atual em uma célula com IMPORTDATA e o endpoint CSV:
=IMPORTDATA("https://api.frankfurter.dev/v2/rates.csv?base=usd"es=eur") O Sheets preenche uma pequena tabela date,base,quote,rate. A coluna date é recebida como número de série. Selecione-a e escolha Formatar, Número, Data para exibi-la. Solicite várias cotações de uma vez separando-as com vírgulas:
=IMPORTDATA("https://api.frankfurter.dev/v2/rates.csv?base=usd"es=eur,gbp,jpy")Converter um valor
IMPORTDATA retorna a taxa, não o total convertido. Multiplique o valor pela célula da taxa importada ou use a função personalizada abaixo para uma chamada direta.
Função personalizada
Para ter uma função reutilizável =FRANKFURTER(), adicione um breve script do Apps Script. Na sua planilha, abra Extensões, Apps Script, cole o código abaixo e salve:
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;
}Depois chame-a de qualquer célula:
=FRANKFURTER(100, "usd", "eur")Passe uma data para obter uma taxa histórica:
=FRANKFURTER(100, "usd", "eur", DATE(2020, 1, 2))Fixar uma fonte oficial
Por padrão, você obtém a taxa combinada de todas as fontes. Adicione providers para fixar uma autoridade específica. Isso é essencial para questões fiscais e contábeis: muitos países exigem a taxa publicada pelo próprio banco central na conversão de valores em moeda estrangeira.
=IMPORTDATA("https://api.frankfurter.dev/v2/rates.csv?base=usd"es=eur&providers=ecb")ECB- Taxa de referência do Banco Central Europeu, padrão para IVA e alfândega na UE.
NBP- Narodowy Bank Polski. O IVA e imposto corporativo na Polônia são convertidos pela taxa do NBP.
CNB- Fixação do Banco Nacional Tcheco, usada para contabilidade e tributos na República Tcheca.
BCB- PTAX do Banco Central do Brasil, a referência para contratos e tributação no Brasil.
BANXICO- Taxa FIX do Banco de México para liquidação de obrigações em dólares americanos.
Explore todas as fontes. Uma fonte fixada segue seu próprio calendário de publicação, portanto sua cotação mais recente pode ficar um dia atrás da média combinada mais recente.
Séries históricas
Use from para um intervalo de datas e group=month para consolidar em uma linha por mês, pronto para gerar gráficos. É aqui que o Frankfurter se destaca em planilhas: séries longas e estáveis que não sofrem revisões silenciosas retroativas.
=IMPORTDATA("https://api.frankfurter.dev/v2/rates.csv?from=1949-12-01&base=usd"es=gbp&providers=bbk&group=month") Isso puxa a cotação do dólar americano em relação à libra até 1949 do arquivo do Deutsche Bundesbank. Você pode ver a paridade fixa de $2,80 se manter constante por anos antes de se romper em 1967. O histórico profundo vem das fixações de Frankfurt do Bundesbank: o dólar contra o marco desde 1948, e a maioria dos outros cruzamentos do dólar de 1949 a 1970. O Banco Central Europeu assume a partir de 1999, de modo que uma série moderna contínua utiliza a média combinada padrão ou providers=ecb.