• Dane i AI
  • Kursy walut w Excelu - jak pobierać i przeliczać?

Kursy walut w Excelu - jak pobierać i przeliczać?

Konstanty Jankowski 4 września 2026
Excel: okno "Właściwości zapytania" z zaznaczoną opcją "Odśwież dane podczas otwierania pliku" dla kursu walut.

Spis treści

Gdy w arkuszu pojawiają się faktury w euro, dolary z platform sprzedażowych albo koszty rozliczane w frankach, ręczne przepisywanie kursów szybko staje się źródłem pomyłek. Pokażę, jak pobierać kursy walut do Excela, odświeżać je bez kopiowania tabel oraz poprawnie przeliczać kwoty bieżące i historyczne. Uwzględnię zarówno szybkie rozwiązanie dla Microsoft 365, jak i bardziej elastyczny wariant oparty na Power Query i danych NBP.

Najlepszy model łączy wiarygodne źródło, automatyczne odświeżanie i kontrolę dat

  • Microsoft 365 pozwala korzystać z wbudowanego typu danych Waluty.
  • Power Query dobrze sprawdza się przy regularnym pobieraniu tabel z NBP.
  • Tabela A zawiera kursy średnie, a tabela C kursy kupna i sprzedaży.
  • Przy fakturach historycznych trzeba używać kursu z właściwej daty, a nie zawsze bieżącego notowania.
  • Automatyzacja nie zwalnia z kontroli źródła, jednostki i kierunku przeliczenia.

Excel i kursy walut wymagają dobrego źródła danych

Najpierw trzeba ustalić, jaki kurs naprawdę jest potrzebny. Do prostych analiz finansowych zwykle wystarcza kurs średni, natomiast przy symulowaniu wymiany pieniędzy może być potrzebny kurs kupna lub sprzedaży. Te wartości nie są zamienne, choć w arkuszu często traktuje się je jak jedną liczbę.

W polskich zastosowaniach najczęściej wybieram dane Narodowego Banku Polskiego. Tabela A obejmuje średnie kursy walut obcych, a tabela C kursy kupna i sprzedaży. NBP udostępnia również dane archiwalne oraz publiczne API w formatach JSON i XML, dzięki czemu można zasilić nimi Power Query bez ręcznego pobierania plików.

Potrzeba Najlepszy typ danych Uwagi
Przeliczenie budżetu lub raportu Kurs średni z tabeli A Prosty i łatwy do porównywania w czasie
Analiza sprzedaży lub zakupu waluty Kurs kupna albo sprzedaży z tabeli C Trzeba wybrać stronę transakcji
Rozliczenie dokumentu z konkretną datą Kurs historyczny Nie należy zastępować go bieżącym kursem
Szybka orientacyjna kalkulacja Typ danych Waluty Dane mogą być opóźnione i zależą od dostawcy Microsoft

W praktyce największy błąd nie wynika z samego Excela, tylko z użycia niewłaściwego źródła. Kurs giełdowy, kurs średni banku, kurs NBP i kurs faktycznie zastosowany przez operatora płatności mogą się różnić. Dlatego w arkuszu dodaję osobną kolumnę Źródło kursu, zamiast udawać, że każda wartość oznacza to samo.

Typ danych Waluty to najszybsza opcja w Microsoft 365

Jeżeli korzystasz z Microsoft 365, możesz pobrać kurs bez budowania zapytania internetowego. Wpisz w komórce parę walutową w formacie kodów ISO, na przykład USD/PLN albo EUR/USD, zaznacz komórkę i wybierz na karcie Dane typ danych Waluty.

Po rozpoznaniu pary Excel zamienia tekst w połączony typ danych. Z komórki można wyciągnąć między innymi kurs wymiany oraz czas ostatniego notowania. Wystarczy kliknąć ikonę w komórce i wybrać pole, które ma zostać dodane do sąsiedniej kolumny.

Jak użyć kursu w obliczeniu

Załóżmy, że w komórce A2 znajduje się kwota w dolarach, a w B2 pobrany kurs USD/PLN. Wartość w złotówkach obliczysz formułą =A2*B2. Przy odwrotnym kierunku, czyli przeliczaniu złotówek na dolary, użyjesz dzielenia, o ile kurs jest zapisany jako liczba złotych za jednego dolara.

Microsoft opisuje ten mechanizm jako sposób na pobieranie i porównywanie kursów za pomocą typu danych Waluty. Trzeba jednak pamiętać, że te notowania mogą być opóźnione, a sam mechanizm nie jest dobrym źródłem do rozliczeń wymagających oficjalnego kursu. Do takich zastosowań wybieram dane zgodne z przyjętą polityką księgową.

Kiedy ta metoda wystarczy

  • Do osobistego budżetu i planowania podróży.
  • Do szybkiego porównania cen w kilku walutach.
  • Do prostego dashboardu, który nie wymaga archiwizacji każdego notowania.

Ograniczenie jest proste. Typ danych Waluty jest wygodny, ale daje mniejszą kontrolę nad źródłem, datą i strukturą danych niż własne zapytanie. Jeśli plik ma być używany przez zespół albo zasilać raport co miesiąc, szybko docenisz rozwiązanie bardziej przewidywalne.

Power Query daje kontrolę nad pobieraniem i odświeżaniem

Power Query traktuję jako podstawowe narzędzie do pracy z kursami walut w większych plikach. Pozwala pobrać dane z API NBP, oczyścić je, nadać kolumnom właściwe typy i załadować gotową tabelę do arkusza. Później wystarczy użyć polecenia Odśwież wszystko, bez ponownego kopiowania danych ze strony internetowej.

Konfiguracja zapytania

  1. Otwórz kartę Dane i wybierz pobieranie danych z sieci Web.
  2. Wklej adres odpowiedniego zapytania API NBP dla tabeli A lub C.
  3. Wybierz format JSON, jeśli Excel pokaże wybór formatu odpowiedzi.
  4. W edytorze Power Query rozwiń rekordy i listy, aż zobaczysz kolumny kodu waluty, daty oraz kursu.
  5. Zostaw potrzebne pola, na przykład code, effectiveDate i mid.
  6. Zmień typ kursu na liczbę dziesiętną, a daty na typ Data.
  7. Załaduj wynik jako tabelę do arkusza.

Jeżeli pobierasz tabelę C, wynik będzie zawierał osobne wartości kupna i sprzedaży. Przy tabeli A pojawi się kurs średni. Sama nazwa waluty nie wystarczy do poprawnego modelu, dlatego zachowuję także kod ISO i datę publikacji.

Odświeżanie bez ręcznej pracy

Właściwości zapytania pozwalają odświeżać dane przy otwieraniu pliku albo w określonych odstępach, gdy skoroszyt jest otwarty. Możesz też odświeżyć je ręcznie z karty Dane. Nie zakładam jednak, że zwykły Excel będzie bez nadzoru aktualizował zamknięty plik na serwerze. Do takiego scenariusza potrzebne są dodatkowe narzędzia, na przykład Power Automate, Office Scripts lub zaplanowany skrypt.

API NBP udostępnia aktualne oraz archiwalne notowania. Pojedyncze zapytanie dla zakresu dat może obejmować maksymalnie 93 dni, więc przy budowaniu długiej historii trzeba podzielić pobieranie na kilka okresów albo skorzystać z gotowych archiwów. To drobny szczegół, który często wychodzi dopiero przy pierwszym raporcie rocznym.

Formuły i ręczny import mają swoje miejsce

Nie każdy arkusz wymaga Power Query. Gdy potrzebujesz jednego kursu do jednorazowej kalkulacji, ręczny import tabeli CSV lub XLS może być szybszy. Taki plik warto jednak opisać datą pobrania i nazwą źródła, bo po kilku tygodniach trudno odtworzyć, skąd pochodziła liczba.

Ręczne pobieranie danych

Wariant ręczny wygląda następująco. Pobierasz tabelę kursów, wklejasz ją do osobnego arkusza, zamieniasz zakres na tabelę Excela i odwołujesz się do niej przez wyszukiwanie kodu waluty. W prostym modelu możesz użyć funkcji X.WYSZUKAJ, a w starszych wersjach Excela funkcji WYSZUKAJ.PIONOWO.

Przykładowo, jeśli kod waluty znajduje się w A2, a tabela kursów ma kod w kolumnie E i kurs w kolumnie F, formuła może wyglądać tak:

=JEŻELI.BŁĄD(X.WYSZUKAJ(A2;TabelaKursy[code];TabelaKursy[mid]);"brak kursu")

To rozwiązanie jest czytelne, ale nie aktualizuje źródła samo z siebie. Dla kilku wierszy działa bez problemu, przy setkach dokumentów szybko zaczyna wymagać dyscypliny i kontroli.

Funkcje WEBSERVICE i FILTERXML

W starszych arkuszach można spotkać funkcje WEBSERVICE i FILTERXML, które pobierają odpowiedź z usługi internetowej i wyciągają z niej wybraną wartość. Dziś traktuję je raczej jako rozwiązanie awaryjne. Są mniej wygodne w diagnostyce, zależą od formatu XML i mogą działać inaczej w Excelu dla Windows, na Macu oraz w przeglądarce.

Jeżeli zapytanie przestanie działać, formuła często zwróci ogólny błąd bez jasnej informacji, czy problem dotyczy sieci, struktury XML, limitu usługi czy zmiany kodu waluty. Power Query jest odrobinę cięższy na początku, ale później łatwiej go poprawić i przekazać innej osobie.

Przeliczanie kwot wymaga właściwego kierunku i daty

Sam pobrany kurs nie rozwiązuje jeszcze problemu. Trzeba ustalić, co oznacza liczba w tabeli i jak ją zastosować. Jeśli kurs EUR/PLN wynosi 4,30, to 100 EUR = 430 PLN. W odwrotną stronę 430 PLN dzielisz przez 4,30, otrzymując 100 EUR.

Warto też sprawdzić jednostkę notowania. Niektóre waluty są prezentowane dla 100 jednostek, a nie dla jednej. Dlatego w tabeli kursów przechowuję kolumnę Przelicznik i stosuję wzór:

kwota w PLN = kwota w walucie × kurs / przelicznik

Przy kursie odwrotnym wzór trzeba odwrócić. Najbezpieczniej wykonać test na znanej kwocie i ręcznie sprawdzić wynik, zanim formuła trafi do całego raportu.

Bieżący kurs nie pasuje do każdej faktury

Do wyceny planowanych zakupów możesz użyć ostatniego dostępnego kursu. Przy dokumentach historycznych potrzebujesz jednak kursu z właściwej daty publikacji, a czasem kursu z poprzedniego dnia roboczego. Weekendy i święta powodują, że dla konkretnej daty może nie istnieć nowe notowanie.

W arkuszu transakcji dodaję więc co najmniej cztery kolumny: data dokumentu, waluta, kwota oraz data zastosowanego kursu. Wtedy można odtworzyć, dlaczego dana wartość została przeliczona właśnie tak, a nie tylko zobaczyć końcową kwotę.

Przeczytaj również: Ciekawostki o AI - Dane, modele, praktyka. Co naprawdę działa?

Przygotuj tabelę do wyszukiwania

Najprostszy model składa się z dwóch tabel. Pierwsza zawiera transakcje, druga notowania z kodem waluty, datą i kursem. Power Query może połączyć je po kodzie oraz dacie, a jeśli brakuje notowania w danym dniu, można wcześniej wybrać ostatni dostępny kurs.

Tabela transakcji Tabela kursów
Data dokumentu Data publikacji
Kod waluty Kod waluty
Kwota Kurs
Źródło dokumentu Typ tabeli

Takie rozdzielenie danych jest ważniejsze niż efektowny dashboard. Dzięki niemu możesz zmienić źródło lub sposób odświeżania bez przebudowywania wszystkich formuł. W projektach, które mają żyć dłużej niż jeden miesiąc, właśnie ta separacja zwykle oszczędza najwięcej czasu.

Najczęstsze błędy psują nawet dobrze pobrane dane

Jednym z typowych problemów jest pomylenie kursu waluty z parą walutową. USD/PLN i PLN/USD nie oznaczają tego samego, więc formuła mnożąca może nagle powinna dzielić. Zawsze zapisuję w nagłówku, czy kurs oznacza PLN za jedną jednostkę waluty, czy odwrotną relację.

  • Brak daty kursu sprawia, że nie da się później odtworzyć wyniku.
  • Tekst zamiast liczby blokuje mnożenie i sortowanie.
  • Przecinek i kropka dziesiętna mogą zostać odczytane jako separatory tekstu.
  • Nieprawidłowy kod ISO powoduje brak dopasowania waluty.
  • Odświeżanie bez kontroli może zmienić raport po otwarciu pliku.
  • Mieszanie tabel A i C prowadzi do nieporównywalnych wyników.

Przy imporcie JSON szczególną uwagę zwracam na typ danych. Kurs załadowany jako tekst może wyglądać poprawnie, ale formuła zwróci błąd albo potraktuje wartość niezgodnie z polskimi ustawieniami regionalnymi. W Power Query najlepiej ustawić typ liczbowy jawnie, a nie liczyć na automatyczne rozpoznanie.

Drugi błąd to bezrefleksyjne włączanie odświeżania przy otwarciu. Dla raportu zarządczego jest to wygodne, lecz dla zamkniętego okresu może być niepożądane. Gdy dokument ma charakter dowodowy lub księgowy, zapisuję kopię danych i zamrażam kurs wykorzystany w rozliczeniu.

Prosty schemat pozwala połączyć Excel z automatyzacją

Jeżeli arkusz ma tylko pokazać dzisiejsze kursy, zacznij od typu danych Waluty albo prostego importu. Dla raportów cyklicznych wybierz Power Query i przechowuj pełną tabelę notowań. Gdy danych robi się dużo, ten sam model możesz później zasilać skryptem w Pythonie, bazą danych albo procesem uruchamianym zgodnie z harmonogramem.

Moja praktyczna konfiguracja wygląda tak: osobne zapytanie pobiera dane, osobna tabela przechowuje transakcje, a arkusz raportowy zawiera wyłącznie wyniki i wykresy. Dzięki temu użytkownik może odświeżyć źródło jednym przyciskiem, ale nie przypadkowo nadpisze formuł ani historii.

Na start wystarczy zapamiętać trzy zasady. Wybierz źródło odpowiednie do celu, zapisuj datę i typ kursu, a przed wdrożeniem sprawdź kierunek oraz jednostkę notowania na kilku ręcznych przykładach. Wtedy kursy walut w Excelu przestają być ręczną tabelką, a stają się małym, kontrolowanym procesem danych.

Artykuł ma charakter wyłącznie informacyjny i edukacyjny. Materiał został opracowany przy wsparciu nowoczesnych narzędzi analitycznych i językowych (AI). Przed podjęciem decyzji skonsultuj się z ekspertem.

FAQ - Najczęstsze pytania

Typ danych Waluty w Microsoft 365 wystarczy do budżetu, planowania podróży i szybkich porównań cen. Power Query lepiej sprawdzi się przy cyklicznych raportach, ponieważ pozwala pobierać dane z API NBP, zachować daty i typy kursów oraz odświeżać tabelę bez ręcznego kopiowania.

Tabela A zawiera średnie kursy walut i zwykle nadaje się do budżetów oraz raportów. Tabela C zawiera kursy kupna i sprzedaży, dlatego należy ją wybrać wtedy, gdy analizujesz konkretną stronę transakcji. Tych wartości nie powinno się traktować jako zamiennych.

W tabeli transakcji zapisz datę dokumentu, kod waluty i kwotę, a następnie połącz ją z tabelą notowań zawierającą datę publikacji i kurs. Jeśli w danym dniu nie było notowania, wybierz ostatni dostępny kurs, na przykład z poprzedniego dnia roboczego. Przy pobieraniu dłuższej historii pamiętaj, że pojedyncze zapytanie API NBP może obejmować maksymalnie 93 dni.

Jeśli kurs EUR/PLN wynosi 4,30, kwotę w euro pomnóż przez 4,30, aby otrzymać wartość w złotówkach, na przykład 100 EUR = 430 PLN. W odwrotnym kierunku podziel kwotę w złotówkach przez kurs. Sprawdź także, czy notowanie dotyczy jednej jednostki waluty, czy 100 jednostek, i uwzględnij kolumnę Przelicznik.

Oceń artykuł

Ocena: 0.00 Liczba głosów: 0

Tagi

excel
power query
kursy walut
nbp
Autor Konstanty Jankowski
Konstanty Jankowski
Nazywam się Konstanty Jankowski i od sześciu lat zajmuję się programowaniem, szczególnie w języku Python oraz nowoczesnymi technologiami. Moje zainteresowanie tymi tematami zrodziło się podczas studiów, kiedy odkryłem, jak wiele możliwości stwarza programowanie w codziennym życiu. Lubię dzielić się swoją wiedzą i pomagać innym zrozumieć złożoność zagadnień związanych z technologią. W moich tekstach skupiam się na praktycznych aspektach programowania, analizując aktualne trendy oraz uproszczając trudne koncepcje, aby były dostępne dla każdego. Dokładam wszelkich starań, aby dostarczać rzetelne, zrozumiałe i aktualne informacje. Staram się porównywać różne źródła i organizować wiedzę w sposób jasny, co pozwala mi na skuteczne przekazywanie informacji. Wierzę, że dobra edukacja w obszarze programowania i technologii może otworzyć drzwi do wielu fascynujących możliwości.

Udostępnij artykuł

Napisz komentarz