Masz pytania lub problemy? Napisz w GitHub Discussions.

Domyślnym rozwiązaniem w Excelu jest typ danych Waluty w Microsoft 365: rynkowy kurs uśredniony, którego nie można przypisać do konkretnego źródła ani pobrać w wersji historycznej. Frankfurter jest w pełni przejrzysty. Jeśli potrzebujesz wiążącego źródła, możesz wybrać stałą instytucję: kurs referencyjny EBC do celów podatku VAT i celnego, NBP czy brazylijski PTAX. Ponadto otrzymujesz stabilne szeregi historyczne. Bez Apps Script całą pracę wykonuje Power Query, uzupełniony formułą do szybkich pojedynczych przeliczeń w systemie Windows.

Power Query

Standardowy sposób działający na Windowsie i Macu. Wybierz Dane, Ze strony sieci Web, wklej adres endpointu CSV i załaduj tabelę z kolumnami date,base,quote,rate, którą możesz odświeżyć w dowolnym momencie przez Dane, Odśwież wszystko:

https://api.frankfurter.dev/v2/rates.csv?base=usd&quotes=eur

Wiele walut docelowych możesz pobrać naraz, oddzielając je przecinkami:

https://api.frankfurter.dev/v2/rates.csv?base=usd&quotes=eur,gbp,jpy

Przeliczanie kwoty

Power Query wczytuje kurs, a nie przeliczoną kwotę całkowitą. Pomnóż swoją kwotę przez komórkę z załadowanym kursem. W przypadku pojedynczego przeliczenia bez kwerendy Excel w systemie Windows może bezpośrednio wywołać API. Utwórz funkcję nazwaną (Formuły, Menedżer nazw, Nowy) o nazwie FRANKFURTER z następującą definicją:

=LAMBDA(amount, from, to, amount * VALUE(TEXTBEFORE(TEXTAFTER(WEBSERVICE("https://api.frankfurter.dev/v2/rate/" & from & "/" & to), """rate"":"), "}")))

Następnie wywołaj ją z dowolnej komórki:

=FRANKFURTER(100, "usd", "eur")

Funkcja WEBSERVICE jest dostępna wyłącznie w systemie Windows. Ponieważ Excel nie ma parsera JSON w formułach, funkcja odczytuje kurs bezpośrednio z tekstu odpowiedzi. Na Macu mnóż przez komórkę z kwerendy Power Query.

Wybór oficjalnego źródła

Domyślnie otrzymujesz kurs uśredniony ze wszystkich źródeł. Dodaj parametr providers do adresu URL, aby wybrać konkretną instytucję. Ma to kluczowe znaczenie dla podatków i księgowości: wiele jurysdykcji wymaga stosowania kursu własnego banku centralnego.

https://api.frankfurter.dev/v2/rates.csv?base=usd&quotes=eur&providers=ecb
ECB
Kurs referencyjny Europejskiego Banku Centralnego, standard dla unijnego podatku VAT i ceł.
NBP
Narodowy Bank Polski. Rozliczenia podatku VAT i dochodowego w Polsce wymagają kursu NBP.
CNB
Czeski Bank Narodowy, referencja dla czeskiej księgowości i podatków.
BCB
Banco Central do Brasil PTAX, referencja dla brazylijskich umów i podatków.
BANXICO
Kurs FIX Banco de México do regulowania zobowiązań w dolarach amerykańskich.

Zobacz wszystkie źródła. Wybrana instytucja działa według własnego harmonogramu publikacji, dlatego jej najnowszy kurs może być opóźniony o jeden dzień w stosunku do kursu rynkowego.

Szeregi historyczne

Użyj parametru from dla zakresu dat oraz group=month, aby zagregować dane do 1 wiersza na miesiąc, gotowego do wykresów. Załaduj dane przez Power Query, a będą się odświeżać jak każda inna kwerenda. Tutaj Frankfurter pokazuje swoją siłę: długie, stabilne szeregi, które nie ulegają cichym korektom.

https://api.frankfurter.dev/v2/rates.csv?from=1949-12-01&base=usd&quotes=gbp&providers=bbk&group=month

Pobiera to kurs dolara amerykańskiego do funta brytyjskiego aż do 1949 roku z archiwum Deutsche Bundesbank. Historyczne fixingi Bundesbanku obejmują dolara wobec marki niemieckiej od 1948 roku oraz większość innych kursów dolara od 1949 do 1970 roku. Od 1999 roku kontrolę przejmuje Europejski Bank Centralny; nowoczesne szeregi czasowe korzystają ze standardowego kursu łączonego lub providers=ecb.