KajoData / Excel
DATA w Excelu: jak tworzyć daty i wykrywać pomyłki
Łączę rok, miesiąc i dzień w datę, wyjaśniam przepełnienie miesięcy oraz pokazuję, kiedy poprawnie policzona formuła ukrywa błąd w danych.

Masz rok w jednej kolumnie, miesiąc w drugiej i dzień w trzeciej. Chcesz z tego zrobić datę, po której da się sortować i filtrować raport. W Excelu używam do tego funkcji DATA, czyli angielskiej DATE. Trzy argumenty, jedna komórka, sprawa wygląda na zamkniętą. Najciekawszy problem zaczyna się wtedy, kiedy ktoś wpisze trzydziesty pierwszy lutego, a Excel spokojnie pokaże marzec.
Pokażę Ci zarówno budowanie dat, jak i ocenę wyniku. To dwie czynności, które warto wykonać osobno. W przeciwnym razie raport może działać bez żadnego komunikatu błędu, a zamówienie albo zgłoszenie trafi do niewłaściwego miesiąca. Brak czerwonej lampki w arkuszu potrafi bardzo uspokajać. Czasami zupełnie niesłusznie.
Wszystkie dane poniżej są syntetyczne. Wyniki wyprowadzam z zasad opisanych przez Microsoft i z kalendarza, na małych przykładach. Nie potrzebujesz dużego pliku ani danych firmowych, żeby prześledzić każdy krok. Zacznij w pustym arkuszu, a dopiero później przenieś rozwiązanie do własnego raportu.
DATA i DATE: ta sama funkcja w dwóch językach
Polska nazwa to DATA, angielska to DATE. Kolejność argumentów jest taka sama: rok, miesiąc, dzień. Zapis dla typowych polskich ustawień wygląda tak:
=DATA(2026;10;27)
W wersji angielskiej z przecinkami między argumentami:
=DATE(2026,10,27)
Oba zapisy opisują 27 października 2026 roku. Średnik albo przecinek wynika z ustawień regionalnych, więc sama zmiana nazwy funkcji nie zawsze wystarczy przy kopiowaniu formuły. Jeżeli Excel odrzuca zapis jeszcze przed obliczeniem, sprawdź język nazw, separator i zwykłe znaki cudzysłowu, zanim zaczniesz przebudowywać całe rozwiązanie.
Dokumentacja DATA opisuje składniki i ich normalizowanie. Ja od początku podaję rok czterema cyframi. Zapis 26 jest krótszy, ale wprowadza dodatkowe reguły interpretacji roku. Przy kolumnie z terminami wolę zaoszczędzić sobie zgadywania, do którego stulecia należą obserwacje.
Zbuduj datę z trzech kolumn
Wpisz w A1:D1 nagłówki rok, miesiac, dzien, data. Następnie umieść w A2 liczbę 2026, w B2 liczbę 10, a w C2 liczbę 27. W D2 wpisz poniższą formułę. W tym układzie argumenty odnoszą się do danych, a nie do nagłówków.
=DATA(A2;B2;C2)
Po ustawieniu formatu daty D2 ma pokazać 27 października 2026. Kolejny wiersz może zawierać inny rok i miesiąc. Skopiowana formuła zmieni odwołania na A3, B3 i C3. Nie musisz ręcznie wpisywać każdej daty ani sklejać fragmentów tekstu ukośnikami.
Zanim skopiuję obliczenie przez kilka tysięcy wierszy, oglądam dwa lub trzy przypadki. Jeden powinien pochodzić z początku miesiąca, drugi z końca, trzeci z innego roku. To prosty sposób na zauważenie zamienionych kolumn dnia i miesiąca. Dzień 7 i miesiąc 8 nie wywołają protestu, choć wynik może oznaczać coś innego niż w źródle.
Zostawiam też kolumny wejściowe. Gdy wynik budzi wątpliwość, chcę widzieć, z czego powstał. Usunięcie roku, miesiąca i dnia od razu po utworzeniu daty utrudnia wyjaśnienie pomyłek. Dopiero po kontroli można zdecydować, czy raport końcowy ma pokazywać wszystkie pola, czy tylko gotową datę.
Wygląd komórki i jej wartość
Data ma warstwę obliczeniową oraz sposób wyświetlania. Komórka może pokazywać nazwę miesiąca, krótki zapis z kropkami albo numer seryjny. Zmiana formatu pomaga obejrzeć tę samą wartość z innej strony. Sam wygląd przypominający datę nie dowodzi jednak, że w środku znajduje się wartość odpowiedniego typu.
Jeśli po formule widzisz liczbę, ustaw format daty w oknie formatowania komórek. Jeżeli widzisz ciąg zaczynający się od znaku równości, sprawdź, czy komórka nie była ustawiona jako tekst. Gdy arkusz pokazuje kratki, poszerz kolumnę i ponownie obejrzyj wynik. Najpierw rozpoznaj objaw, zamiast zastępować formułę ręcznie wpisanym tekstem.
W opisie systemów dat Microsoft wyjaśnia system 1900 i system 1904. Ten sam dzień ma w nich inne numery seryjne, oddalone o 1462 dni. Przy przenoszeniu starszych skoroszytów sprawdzam więc ustawienia pliku. Nie zakładam, że każdy numer z etykietą „data” da identyczny kalendarz we wszystkich skoroszytach.
Jest też historyczny wyjątek: Excel traktuje rok 1900 jako przestępny. Microsoft opisuje to zachowanie. W zwykłym raporcie z bieżących lat nie musisz budować wokół niego całej procedury, ale wyjaśnienie „to po prostu liczba dni od początku 1900 roku” wymaga tego zastrzeżenia. Zwłaszcza przy danych historycznych.
Miesiąc większy niż dwanaście i miesiąc ujemny
Spójrz na formułę =DATA(2016;15;4). Miesiąc 13 to styczeń następnego roku, 14 to luty, a 15 to marzec. Dzień pozostaje czwarty. Otrzymasz więc 4 marca 2017, a nie trzeci dzień tego miesiąca. W takim przykładzie dobrze rozdzielić liczenie miesiąca od liczenia dnia.
Drugi przypadek to =DATA(2016;-3;4). Miesiąc 1 oznacza styczeń 2016, miesiąc 0 to grudzień 2015, -1 to listopad, -2 to październik, a -3 to wrzesień. Wynik to 4 września 2015. Gdy zaczynasz liczyć wstecz od stycznia, pamiętaj o pozycji zero. To właśnie ją łatwo zgubić.
Takie zachowanie może być przydatne w harmonogramie. Możesz opisać początek następnego miesiąca nawet wtedy, gdy bieżącym miesiącem jest grudzień. Jednocześnie jest ryzykowne przy imporcie danych. Wpisanie 15 w kolumnie miesiąca może być literówką, a funkcja zamieni ją w pozornie rozsądną datę.
Dlatego rozróżniam dwie sytuacje. W formule planistycznej świadomie przesuwam składnik miesiąca. W danych wejściowych oczekuję miesięcy od 1 do 12 i traktuję inne wartości jako sygnał do wyjaśnienia. Ta sama funkcja obsługuje oba przypadki, ale kryterium poprawności pochodzi z celu raportu.

Dzień zero i dzień, którego nie ma w miesiącu
Dzień zero oznacza ostatni dzień poprzedniego miesiąca. Formuła =DATA(2026;3;0) prowadzi więc do 28 lutego 2026. Dla =DATA(2024;3;0) dostaniesz 29 lutego, ponieważ 2024 jest rokiem przestępnym. Nie trzeba ręcznie wpisywać długości lutego do każdej formuły.
W przeciwną stronę działa przekroczenie liczby dni miesiąca. =DATA(2026;2;31) zaczyna od lutego, który ma 28 dni, i przechodzi trzy dni dalej. Wynikiem jest 3 marca. To użyteczna reguła obliczeniowa, ale kiepski dowód, że ktoś poprawnie wpisał datę urodzenia albo datę dokumentu.
Jeżeli w źródle miała istnieć konkretna data kalendarzowa, marzec nie jest automatyczną poprawką lutowego błędu. Trzeba wrócić do danych i ustalić właściwy dzień. Zgadywanie przez arkusz może przenieść obserwację pomiędzy okresami sprawozdawczymi, a później zmienić wynik porównania miesięcy.
W swoim arkuszu kontrolnym opisuję takie wiersze osobnym statusem. Zachowuję oryginał, proponowaną datę i informację o problemie. Osoba sprawdzająca raport widzi wtedy, ile przypadków wymaga decyzji. Jedna pusta komórka w raporcie bywa bardziej uczciwa niż bardzo elegancka, samodzielnie odgadnięta data.
Początek i koniec miesiąca w raporcie
Załóżmy, że A2 zawiera rok, a B2 numer miesiąca. Pierwszy dzień okresu zbudujesz przez =DATA(A2;B2;1). Pierwszy dzień kolejnego okresu opisuje =DATA(A2;B2+1;1). Taki układ dobrze pokazuje, że granica raportu wynika z roku i miesiąca, a nie z ręcznej listy końcówek miesięcy.
Ostatni dzień możesz opisać jako =DATA(A2;B2+1;0). Dla roku 2026 i miesiąca 10 otrzymasz 31 października. Warto jednak odróżnić datę końca miesiąca od warunku obejmującego wszystkie zdarzenia z tego miesiąca. Gdy źródło zawiera również godziny, północ ostatniego dnia nie obejmuje jego późniejszych godzin.
Przy definiowaniu zakresu wolę wtedy myśleć: od początku miesiąca włącznie, do początku następnego miesiąca wyłącznie. Tę zasadę można przenieść do filtrów, zapytań i wymagań raportu. Ułatwia rozmowę o tym, czy zdarzenie dokładnie na granicy ma należeć do bieżącego, czy następnego okresu.
Jeżeli pracujesz od gotowej daty, dostępna jest też funkcja NR.SER.OST.DN.MIES, czyli EOMONTH, opisana w dokumentacji Microsoft. Dobieram nazwę do zadania i możliwości zespołu. Ważniejsze od efektownej formuły jest to, żeby następna osoba umiała odczytać przyjętą granicę czasu.
Dodawanie miesięcy wymaga decyzji
„Za miesiąc” może znaczyć ten sam numer dnia, koniec następnego miesiąca albo określoną liczbę dni później. Te reguły dają różne odpowiedzi przy końcu stycznia. Zanim dobiorę funkcję, zapisuję jednym zdaniem, jak ma działać termin. Szczególnie gdy arkusz ma później obsługiwać powtarzalne zadania.
Do przesunięć o liczbę miesięcy Microsoft udostępnia NR.SER.DATY / EDATE. Jeżeli potrzebujesz końców miesięcy, zacznij od wspomnianego EOMONTH. Samo zwiększenie miesiąca wewnątrz DATA podlega normalizacji dnia, więc nie zakładam bez sprawdzenia, że spełni każdą regułę harmonogramu.
Dobry opis wymagania zawiera przypadek zwykły i graniczny. Przykładowo: co ma się stać dla terminu przypadającego piętnastego oraz dla terminu z ostatniego dnia miesiąca? Jeżeli dwie osoby odpowiadają inaczej, problem trzeba rozstrzygnąć przed kopiowaniem formuły na kolejne lata. Arkusz nie zna intencji autora.
Odejmowanie dwóch dat
Dla dat bez godzin odejmowanie daje różnicę w dniach kalendarzowych. Mały przykład jest celowo prosty: =DATA(2026;10;30)-DATA(2026;10;27) daje 3. Od 27 do 28 mija jeden dzień, potem drugi i trzeci. Nie potrzebujesz do tego osobnej, bardziej rozbudowanej funkcji.
Wynik odejmowania ustawiam jako liczbę. Jeśli komórka odziedziczy format daty, Excel może pokazać datę odpowiadającą liczbie 3, co wygląda dziwnie, choć obliczenie jest właściwe. To kolejny powód, by sprawdzać wartość oraz format niezależnie. Zmieniona czcionka i kolor nie rozwiązują tego problemu.
Trzy dni różnicy nie oznaczają czterech dni pobytu ani trzech dni roboczych. Włączenie obu końców przedziału wymaga własnej reguły. Weekendy i święta również nie znikają przez zwykłe odejmowanie. Najpierw nazwij miarę: czas pomiędzy datami, liczba objętych dni kalendarza czy dni pracy według ustalonego kalendarza.
Tekst przypominający datę
Wpis 03/04/2026 jest czytelny dopiero po ustaleniu konwencji. Jedna osoba odczyta trzeci kwietnia, druga czwarty marca. Przy danych z kilku krajów nie chcę, żeby prawidłowość raportu zależała od odruchu osoby otwierającej skoroszyt. Preferuję jawne składniki albo kontrolowany import.
Funkcja DATA.WARTOŚĆ / DATEVALUE służy do zamiany tekstu opisującego datę na numer daty. Jej interpretacja zależy od ustawień. Samo nadanie tekstowej kolumnie formatu daty nie jest procedurą, na której oparłbym import wielojęzycznego pliku. Najpierw ustalam, jaki dokładnie zapis dostarcza źródło.
Przy pliku CSV rozdzielam problem separatora kolumn od sposobu zapisu dat. To, że wczytanie nie zgłosiło błędu, nie potwierdza poprawnej interpretacji wszystkich pól. Pomaga przejście przez import CSV do Excela i porównanie kilku znanych dat ze źródłem przed budowaniem zestawienia.
Sprawdź datę zanim trafi do raportu
Moja kontrola zaczyna się od pytania, czy wszystkie trzy składniki istnieją i są liczbami całkowitymi w oczekiwanych zakresach. Dla współczesnego raportu ustalam też sensowny przedział lat. Rok 2099 może być poprawną datą w kalendarzu, a jednocześnie pomyłką w zestawieniu zdarzeń z ubiegłego tygodnia.
Następnie porównuję rok, miesiąc i dzień gotowej daty z oryginalnymi składnikami. Jeśli normalizacja zmieniła którykolwiek z nich, wiersz wymaga uwagi. Taka kontrola ma sens po sprawdzeniu typów i kompletności. Inaczej brak składnika mógłby zostać potraktowany jak przypadkowa wartość wejściowa, a status „poprawne” straciłby znaczenie.
W ćwiczeniu przygotuj cztery wiersze: 2026/10/27, 2026/2/31, 2024/2/29 i 2026/13/1. Przed wpisaniem formuł zapisz oczekiwaną decyzję: przyjąć albo wyjaśnić. Potem obejrzyj daty po normalizacji. Zobaczysz różnicę między tym, co Excel potrafi obliczyć, a tym, co powinno zostać zaakceptowane w źródle.
Na koniec sprawdź, czy raport pokazuje liczbę odrzuconych przypadków. Sam filtr ukrywający błędne daty może sprawić, że suma przestanie zgadzać się z plikiem wejściowym. Wolę mieć krótką listę wyjątków i osobę odpowiedzialną za poprawki. Wtedy DATA staje się częścią przewidywalnego procesu, a nie maszynką do uspokajania sumienia.
Jak oddać arkusz następnej osobie
W gotowym pliku zostaw krótką instrukcję przy kolumnach wejściowych: oczekiwany typ, dopuszczalny zakres i sposób oznaczenia braku. Dla osoby wpisującej dane słowo „miesiąc” może oznaczać nazwę, liczbę albo datę pierwszego dnia. Jeśli raport oczekuje wyłącznie liczby, napisz to wprost. Dzięki temu część problemów rozwiążesz przed uruchomieniem jakiejkolwiek formuły.
Dobrze działa też rozdzielenie miejsca na wpisywanie danych od miejsca na wynik. Użytkownik nie powinien zgadywać, które komórki może poprawić. W przykładzie A:C zawiera źródło, D wynik, a E może zawierać status kontroli. Opisuję ten układ w nagłówkach, zamiast polegać wyłącznie na kolorze tła. Kolor bywa niewidoczny na wydruku albo po skopiowaniu fragmentu.
Przy przekazywaniu raportu proszę drugą osobę o odnalezienie jednego poprawnego i jednego odrzuconego wiersza. Ma wskazać powód decyzji, bez podpowiedzi autora. Jeżeli musi odgadywać znaczenie statusu albo szukać reguł w wiadomościach sprzed miesiąca, instrukcja wymaga poprawy. To praktyczny sprawdzian zrozumiałości całego rozwiązania, niezależny od tego, czy formuła została dobrze wpisana.
Warto zachować również datę otrzymania pliku oraz informację, z jakiego źródła pochodzi. Gdy dwa eksporty różnią się jedną datą, sama nazwa arkusza nie wyjaśni przyczyny. Nie trzeba do tego rozbudowanego systemu. W małym procesie wystarczy czytelna informacja o wejściu, regułach i wyjątkach. Z takim opisem łatwiej powtórzyć raport i odróżnić zmianę danych od zmiany sposobu ich interpretacji.
Przy każdej poprawce zachowaj informację, czy zmieniono składnik źródłowy, czy regułę obliczenia. Dzięki temu osoba porównująca kolejne raporty zrozumie przyczynę różnicy bez odtwarzania całej pracy autora.
Film i dalsza praca
Poniżej zostawiam powiązany polski materiał o funkcji DATE. Artykuł rozwija temat o kontrolę danych, granice miesięcy i systemy dat. Do własnego ćwiczenia weź mały plik, w którym znasz pochodzenie każdego wiersza, i opisz regułę akceptacji daty przed przygotowaniem raportu miesięcznego.
Najważniejsze w pigułce
Jak nazywa się DATE w polskim Excelu?
DATA. Funkcja przyjmuje rok, miesiąc i dzień. W przykładach dla typowych polskich ustawień używam średników, a dla angielskich przecinków; separator zależy od konfiguracji regionalnej.
Dlaczego DATA przyjmuje miesiąc 13 albo dzień 32?
Funkcja normalizuje składniki, przesuwając wynik do kolejnego miesiąca lub roku. Dlatego utworzenie daty nie potwierdza, że wejściowy zapis był poprawny.
Czy odejmowanie dat liczy dni robocze?
Nie. Dwie daty bez godzin dają różnicę w dniach kalendarzowych. Włączenie obu końców okresu i kalendarz świąt wymagają osobnej reguły.
Przy pracy nad artykułem użyto w zautomatyzowany sposób sztucznej inteligencji. Jeśli też chcesz tak umieć, sprawdź ten projekt.
