Baza wiedzy / Excel
DZIŚ w Excelu: bieżąca data, terminy i odświeżanie
Policzysz dni do terminu i rozdzielisz zadania zaległe, dzisiejsze i przyszłe. Wyjaśniam też, dlaczego DZIŚ nie zapisuje daty importu.

Otwierasz raport sprzed miesiąca, a pole „ostatnia aktualizacja” pokazuje dzisiaj. Dane nadal są stare. Taki efekt łatwo uzyskać, wpisując DZIŚ() w miejscu, które miało przechowywać datę odświeżenia.
Ja rozdzielam te informacje. DZIŚ służy do obliczeń względem bieżącego dnia. Datę zdarzenia albo importu trzeba zapisać niezależnie. W tym haśle pokażę, jak użyć funkcji do terminów i jak uniknąć ruchomej daty w historycznym raporcie.
Co zwraca DZIŚ
=DZIŚ()
Angielska nazwa to TODAY. Funkcja nie ma argumentów, ale nawiasy pozostają obowiązkowe. Zwraca bieżącą datę jako liczbę seryjną Excela, bez godziny. Jej wygląd zależy od formatu komórki. Zachowanie opisuje dokumentacja Microsoft.
W Excelu desktopowym data zależy od zegara systemowego. Wynik zmienia się przy przeliczeniu, więc nie traktuję otwartego arkusza jak zegara aktualizowanego bez przerwy. Gdy data nie zmienia się zgodnie z oczekiwaniem, sprawdzam opcje obliczania, w tym tryb automatyczny.
W przykładach używam nazw PL i średników. Separator argumentów zależy od ustawień regionalnych. DZIŚ jest opisane dla Microsoft 365 oraz wydań Excel 2016-2024; nie wymaga nowych funkcji tablicowych.
Dni do terminu: małe dane syntetyczne
Żeby przykład miał stały wynik także w przyszłości, wpisz w E1 datę odniesienia =DATA(2026;11;5). Nagłówki umieść w A1:B1, a syntetyczne terminy w wierszach 2:4. Kolumna B zawiera rzeczywiste daty Excela, bez części godzinowej.
| Wiersz | A: Zadanie | B: Termin | Dni do terminu |
|---|---|---|---|
| 2 | Pierwsze | 2026-11-04 | -1 |
| 3 | Drugie | 2026-11-05 | 0 |
| 4 | Trzecie | 2026-11-08 | 3 |
W C2 wpisuję i kopiuję w dół:
=B2-$E$1
Wynik ujemny oznacza termin wcześniejszy od daty odniesienia, zero ten sam dzień, dodatni liczbę dni pozostałych. Kolumnę C formatuję jako liczbę, a nie datę. W przeciwnym razie różnica dni może wyglądać jak dziwna data z początku kalendarza Excela.
W działającym panelu mogę zmienić E1 na =DZIŚ(). Wtedy wszystkie terminy korzystają z jednej widocznej daty odniesienia. Odtworzenie historycznego stanu wymaga zapisania tej daty jako stałej wartości. Samo skopiowanie pliku z formułą nadal pozostawia ruchomy punkt odniesienia.
Status ma uwzględniać również dzisiaj
Dla podanych dat bez godziny używam:
=JEŻELI(B2="";"Brak terminu";JEŻELI(B2<$E$1;"Po terminie";JEŻELI(B2=$E$1;"Dzisiaj";"Przed terminem")))
Daje to kolejno „Po terminie”, „Dzisiaj” i „Przed terminem”. Sprawdzenie pustego pola zapobiega przypisaniu mu zwykłego statusu terminu. Warunek „nie wcześniejsza niż dziś” sam w sobie obejmuje także dzisiaj, więc etykieta „przyszła” byłaby zbyt wąska.
Przy datach zawierających godzinę najpierw ustalam, czy raport klasyfikuje dzień, czy dokładny moment. DZIŚ wskazuje początek bieżącego dnia. Do rozróżnienia „dzisiaj” przy znacznikach czasu potrzeba zakresu od początku dnia do początku następnego, a nie samej równości.

Bieżąca data i stały zapis to inne potrzeby
DZIŚ nie zapisuje momentu ostatniej zmiany komórki, ostatniego importu ani zatwierdzenia raportu. Jeśli źródło nie odświeżyło się przez tydzień, funkcja nadal może pokazać bieżący dzień. Nazwanie jej „datą aktualizacji danych” daje czytelnikowi fałszywe poczucie świeżości.
Stałą datę można wpisać jako wartość; w Excelu desktopowym skrót Ctrl+; wstawia bieżącą datę jako taki zapis. Microsoft rozróżnia wartości stałe i formuły dynamiczne. Dla automatycznego importu pole czasu odświeżenia powinno pochodzić z procesu, który faktycznie go wykonał.
Przy archiwizowaniu raportu zachowuję zarówno datę odniesienia, jak i informację o zakresie danych. Raport policzony dzisiaj z danymi do końca października opisuje inną sytuację niż panel z danymi do dzisiaj. Jedna komórka z datą nie powinna udawać obu informacji naraz.
Data w zdaniu i funkcja TERAZ
Jeżeli potrzebuję tylko wyświetlić datę, zostawiam ją w osobnej komórce z formatem daty. Łączenie tekstu z DZIŚ bez kontrolowanego formatowania może pokazać liczbę seryjną.
Dla polskiego formatu mogę napisać:
="Data odniesienia: "&TEKST(DZIŚ();"rrrr-mm-dd")
Wynik jest tekstem. Do obliczeń używam pierwotnej daty, nie tej etykiety. Kody formatu są zależne od języka; możesz skopiować odpowiedni kod z okna formatowania komórek. Zasady opisuje Microsoft przy funkcji TEKST.
TERAZ() (NOW) zwraca datę i godzinę. Również aktualizuje się przy obliczaniu, a nie bez przerwy, co podkreśla dokumentacja. Nie zamienia więc automatycznie arkusza w rejestr zdarzeń.
Wiek wymaga pełnych lat
Różnica ROK(DZIŚ())-ROK(A2) porównuje numery lat. Przed urodzinami może zawyżyć wiek o jeden. Dla pełnych lat od daty urodzenia w A2 do daty odniesienia E1 stosuje się:
=DATA.RÓŻNICA(A2;$E$1;"Y")
Poprawna nazwa PL to DATA.RÓŻNICA, bez dodatkowego „Y” w słowie DATA. Dokumentacja definiuje jednostkę Y jako pełne lata i wskazuje błąd, gdy data początkowa jest późniejsza od końcowej. Microsoft opisuje również ograniczenia funkcji, zwłaszcza jednostki MD; ten przykład jej nie używa.
Ćwiczenie z dwoma punktami odniesienia
Zmień E1 z 5 na 6 listopada 2026. Różnice dni powinny wynieść -2, -1 i 2, a drugie zadanie przejdzie do „Po terminie”. Potem przywróć 5 listopada. To pokazuje, jak sama data odniesienia zmienia raport bez edytowania terminów.
Przeczytaj też ROK oraz JEŻELI. Przy własnym pliku najpierw ustal, czy potrzebujesz aktualnego dnia, historycznej daty raportu czy czasu wykonania importu. Dopiero potem wybieraj funkcję.
Najważniejsze w pigułce
Czy DZIŚ zapisuje datę odświeżenia danych?
Nie. Pokazuje bieżącą datę przy przeliczeniu. Czas odświeżenia powinien być zapisany przez proces importu lub jako niezależna wartość.
Dlaczego różnica dni wygląda jak data?
Komórka wyniku ma format daty. Ustaw format liczbowy dla liczby dni, zachowując format daty w komórkach wejściowych.
Czy DZIŚ uwzględnia godzinę?
Nie. TERAZ zwraca datę i godzinę, lecz także aktualizuje się przy przeliczeniu i nie jest stałym zapisem zdarzenia.
Przy pracy nad artykułem użyto w zautomatyzowany sposób sztucznej inteligencji. Jeśli też chcesz tak umieć, sprawdź ten projekt.
