Tworzenie dat za pomocą DATE i EDATE
Proszę tworzyć daty i przesuwać je o miesiące na potrzeby harmonogramów.
Tworzenie dat za pomocą DATE i EDATE to bezpłatna lekcja Excel Formulas Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Excel Formulas Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Excel Formulas Academy zawiera 4 lekcji w sumie.
W drugą stronę
Podczas poprzedniej lekcji rozkładali Państwo daty na części. Teraz złożą je Państwo z powrotem. Czasami rok, miesiąc i dzień są dostępne jako osobne liczby i trzeba połączyć je w jedną prawdziwą datę.
Funkcja DATE robi dokładnie to. Gdy trzeba przesunąć datę do przodu lub do tyłu o całe miesiące, funkcja EDATE zajmuje się skomplikowanymi obliczeniami związanymi z różną długością miesięcy.
Są to podstawowe narzędzia do tworzenia harmonogramów, wyznaczania terminów płatności i budowania dat z zaimportowanych elementów.
Składnia funkcji DATE
Funkcja DATE przyjmuje trzy argumenty w stałej kolejności: rok, miesiąc, dzień.
Dlatego =DATE(2026, 6, 18) tworzy prawdziwą wartość daty oznaczającą 18 czerwca 2026 roku. Arkusz wyświetla ją następnie zgodnie z zastosowanym formatem daty.
Ma to znaczenie, gdy dane są dostępne w częściach. Jeśli rok znajduje się w A2, miesiąc w B2, a dzień w C2, można połączyć je w jedną datę.
=DATE(2026,6,18)Tworzenie na podstawie oddzielnych komórek
Prawdziwa wartość funkcji DATE ujawnia się, gdy poszczególne elementy znajdują się w różnych komórkach. Załóżmy, że A2 zawiera rok, B2 miesiąc, a C2 dzień.
Formuła łączy je w prawidłową datę, którą można następnie sortować, odejmować od niej inne daty lub formatować. To częsta sytuacja po zaimportowaniu danych, w których datę rozdzielono na kolumny.
=DATE(A2,B2,C2)DATE sprytnie obsługuje wartości poza zakresem
Funkcja DATE ma przydatną właściwość: normalizuje wartości spoza zakresu. Jeśli podamy jej miesiąc równy 13, przechodzi do następnego roku. Jeśli podamy dzień równy 0, zwraca ostatni dzień poprzedniego miesiąca.
Na przykład =DATE(2026, 1, 0) zwraca 31 grudnia 2025 roku. Z kolei =DATE(2026, 13, 1) zwraca 1 stycznia 2027 roku.
Można celowo wykorzystać tę właściwość do obliczania ostatniego dnia miesiąca, jak zobaczą Państwo wkrótce.
=DATE(2026,1,0)Znajdowanie końca miesiąca
Ta sztuczka z przekroczeniem zakresu daje przydatny wzorzec: aby uzyskać ostatni dzień miesiąca, należy poprosić o dzień 0 następnego miesiąca.
Jeśli A2 zawiera dowolną datę, formuła =DATE(YEAR(A2), MONTH(A2)+1, 0) zwraca ostatni dzień miesiąca zawierającego datę w A2, poprawnie uwzględniając miesiące mające 28, 29, 30 lub 31 dni.
Istnieje również dedykowana funkcja o nazwie EOMONTH, która robi to samo w bardziej bezpośredni sposób. Poznają ją Państwo w następnej części.
=DATE(YEAR(A2),MONTH(A2)+1,0)Funkcja EDATE
Funkcja EDATE przesuwa datę o całkowitą liczbę miesięcy. Przyjmuje dwa argumenty: datę początkową i liczbę miesięcy, o które należy ją przesunąć.
Liczba dodatnia przesuwa datę do przodu, a ujemna do tyłu. Dlatego =EDATE(A2, 3) zwraca datę przypadającą trzy miesiące po dacie w A2, a =EDATE(A2, -1) zwraca datę o miesiąc wcześniejszą.
Funkcja zachowuje ten sam dzień miesiąca, o ile jest to możliwe, co jest dokładnie potrzebne przy rozliczeniach miesięcznych.
=EDATE(A2,3)Dlaczego nie dodać po prostu 30 dni?
Można by pomyśleć, że dodanie 30 przesuwa datę o miesiąc, ale miesiące mają różną długość. Dodanie 30 dni do 31 stycznia przenosi datę na początek marca, a nie lutego.
Funkcja EDATE uwzględnia rzeczywiste miesiące kalendarzowe. Od 31 stycznia formuła =EDATE(A2, 1) zwraca 28 lutego (lub 29 lutego w roku przestępnym), ponieważ luty nie ma 31. dnia.
Dlatego EDATE jest właściwym narzędziem do tworzenia harmonogramów miesięcznych.
=EDATE(A2,1)EOMONTH dla końców miesięcy
Funkcja EOMONTH jest uzupełnieniem funkcji EDATE i zwraca koniec miesiąca oddalonego o podaną liczbę miesięcy.
=EOMONTH(A2, 0) zwraca ostatni dzień miesiąca zawierającego datę w A2. =EOMONTH(A2, 1) zwraca ostatni dzień następnego miesiąca.
To właściwy sposób na wyznaczanie dat zamknięcia okresu rozliczeniowego lub granicznych dat raportów na koniec miesiąca.
=EOMONTH(A2,0)Przykład: data odnowienia subskrypcji
Klient wykupuje subskrypcję w dniu podanym w A2 na plan 12-miesięczny. Należy wyznaczyć datę odnowienia.
Funkcja EDATE pozwala przesunąć datę dokładnie o rok do przodu, zachowując zasady kalendarza. Jeśli subskrypcja rozpoczęła się 29 lutego w roku przestępnym, EDATE poprawnie wyznaczy 28 lutego następnego roku.
Ta pojedyncza formuła obsługuje wszystkie przypadki brzegowe, w których ręczne obliczenia dat dałyby błędny wynik.
=EDATE(A2,12)Głębszy przykład: pierwszy dzień następnego miesiąca
Połączenie funkcji EOMONTH z prostym dodawaniem pozwala rozwiązać kolejną typową potrzebę: wyznaczyć pierwszy dzień następnego miesiąca.
Funkcja EOMONTH zwraca ostatni dzień bieżącego miesiąca, więc dodanie 1 dnia przenosi datę na pierwszy dzień kolejnego miesiąca.
Dlatego =EOMONTH(A2, 0)+1 zawsze zwraca pierwszy dzień następnego miesiąca, niezależnie od długości bieżącego miesiąca. Takie narzędzia sprawiają, że formuły do planowania są bardzo niezawodne.
=EOMONTH(A2,0)+1Wygenerowana seria początków miesięcy
Połącz funkcję EDATE z datą początkową, aby utworzyć cały harmonogram. Wpisz datę początkową w A2, a następnie w kolejnej komórce dodaj jeden miesiąc, potem w następnej i tak dalej.
Na przykład =EDATE($A$2, 1), =EDATE($A$2, 2), =EDATE($A$2, 3) wyświetlają ten sam dzień kalendarzowy w kolejnych miesiącach. Znaki $ blokują komórkę początkową, dzięki czemu można skopiować formułę w dół.
W ten sposób można utworzyć przejrzyste miesięczne daty rozliczeń lub płatności na podstawie jednego punktu odniesienia.
=EDATE($A$2,2)Szybki test
Proszę sprawdzić swoje umiejętności tworzenia dat.
Podsumowanie: tworzenie dat
Nauczyli się Państwo składać i przesuwać daty:
DATE(year, month, day)tworzy prawdziwą datę z trzech liczb, a także normalizuje wartości spoza zakresu.DATE(YEAR(d), MONTH(d)+1, 0)wyznacza ostatni dzień miesiąca, wykorzystując sztuczkę z dniem równym zero.EDATE(date, months)przesuwa datę o całe miesiące kalendarzowe, poprawnie uwzględniając różną długość miesięcy.EOMONTH(date, months)zwraca daty końca miesiąca, a dodanie 1 daje pierwszy dzień następnego miesiąca.
Teraz zmierzą Państwo odstęp między dwiema datami.
Często zadawane pytania
Czy lekcja „Tworzenie dat za pomocą DATE i EDATE” jest bezpłatna?
Tak — pełny tekst „Tworzenie dat za pomocą DATE i EDATE” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Excel Formulas Academy, przejdź na CoddyKit PRO. Kurs Excel Formulas Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Tworzenie dat za pomocą DATE i EDATE”?
Proszę tworzyć daty i przesuwać je o miesiące na potrzeby harmonogramów. Ćwiczysz Excel Formulas Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Excel Formulas Academy?
Nie wymagamy żadnego doświadczenia. Excel Formulas Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „Tworzenie dat za pomocą DATE i EDATE”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Excel Formulas Academy?
Tak. Każda lekcja Excel Formulas Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- TODAY i NOW dla aktualnych dat
- Rozkładanie dat za pomocą YEAR, MONTH i DAY
- Tworzenie dat za pomocą DATE i EDATE
- Zliczanie dni między datami