Excel
A resposta do próprio Excel para cotações de câmbio é o tipo de dados Moedas do Microsoft 365: uma cotação combinada, atualizada automaticamente, que você não consegue fixar em uma fonte nem usar para buscar histórico. A combinação do Frankfurter é transparente e, quando a fonte precisa ser exata, você pode fixar uma única autoridade: a taxa de referência do BCE para o IVA da UE, o NBP da Polônia ou a PTAX do Brasil. O histórico de um provedor fixado fica exatamente como foi publicado. O Power Query faz o trabalho no Windows e no Mac. No Windows, há também uma fórmula de uma linha para conversões rápidas.
Power Query
O caminho principal, tanto no Windows quanto no Mac. Vá em Dados, Da Web, cole o endpoint CSV e carregue uma tabela date,base,quote,rate. Atualize quando quiser em Dados, Atualizar Tudo:
https://api.frankfurter.dev/v2/rates.csv?base=usd"es=eurPeça várias moedas de cotação de uma vez, separadas por vírgula:
https://api.frankfurter.dev/v2/rates.csv?base=usd"es=eur,gbp,jpyConverter um valor
O Power Query carrega a cotação, não o total convertido. Multiplique o valor pela célula da cotação carregada. Para uma conversão pontual sem consulta, o Microsoft 365 no Windows pode chamar a API direto na fórmula. Adicione uma função nomeada (Fórmulas, Gerenciador de Nomes, Novo) chamada FRANKFURTER com esta definição:
=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"":"), "}"), "."))Depois, use em qualquer célula:
=FRANKFURTER(100, "usd", "eur")Passe uma data para obter uma cotação histórica:
=FRANKFURTER(100, "usd", "eur", DATE(2020, 1, 2)) WEBSERVICE só existe no Windows e, como as fórmulas do Excel não têm parser de JSON, a função lê a cotação direto do texto da resposta. NUMBERVALUE com ponto decimal explícito mantém a função funcionando em configurações regionais que usam vírgula. No Mac, multiplique por uma célula de cotação carregada pelo Power Query.
Fixar uma fonte oficial
Por padrão, você recebe a combinação de todas as fontes. Adicione providers à URL da consulta para fixar uma única autoridade. Isso importa para impostos e contabilidade: muitos países exigem a taxa publicada pelo próprio banco central na conversão de valores em moeda estrangeira.
https://api.frankfurter.dev/v2/rates.csv?base=usd"es=eur&providers=ecbECB- Taxa de referência do Banco Central Europeu, o padrão para IVA e alfândega na UE.
NBP- Narodowy Bank Polski. Na Polônia, o IVA e o imposto de renda das empresas (CIT) são convertidos pela taxa do NBP.
CNB- Fixing do Banco Nacional Tcheco, usado na contabilidade e nos impostos da República Tcheca.
BCB- PTAX do Banco Central do Brasil, a referência para contratos e tributos no Brasil.
BANXICO- Taxa FIX do Banco de México, usada para liquidar obrigações em dólar americano.
Veja todas as fontes. Uma fonte fixada segue o próprio calendário de publicação, então a cotação mais recente dela pode ficar um dia atrás da cotação combinada mais recente.
Séries históricas
Use from para um intervalo de datas e group=month para condensar tudo em uma linha por mês, pronto para virar gráfico. Carregue pelo Power Query e ele atualiza como qualquer outra consulta. O histórico combinado pode mudar um pouco quando chegam dados novos, então fixe um provedor quando os valores não puderem mudar.
https://api.frankfurter.dev/v2/rates.csv?from=1949-12-01&base=usd"es=gbp&providers=bbk&group=month Isso traz o dólar americano contra a libra desde 1949, direto do arquivo do Deutsche Bundesbank. Dá para ver a paridade fixa da libra em US$ 2,80 ficar estável por anos até ser rompida em 1967. O histórico mais antigo vem dos fixings do Bundesbank em Frankfurt: o dólar contra o marco desde 1948 e a maioria dos outros pares com o dólar de 1949 a 1970. O Banco Central Europeu assume a partir de 1999, então uma série moderna contínua usa a combinação padrão ou providers=ecb.