Czasami mamy sytuację, gdzie w osobnych komórkach jest dzień, miesiąc i rok. Chcemy z tych pojedynczych komórek złożyć datę "do kupy". Do tego celu służy funkcja data.
Pobierz plik zawierający omawiane formuły

Funkcja ta przyjmuje 3 argumenty: rok, miesiąc, dzień. Rok można podać w formie dwu lub czterocyfrowej. Oto przykład:
=DATA(B4; B3; B2)
Z kolei jeśli chcielibyśmy z daty wyciągnąć poszczególne elementy składowe to mamy takie funkcje jak ROK, MIESIĄC, DZIEŃ.
Niby wielkiej filozofii tutaj nie ma, ale z funkcją DATA możemy nieco pokombinować, aby wygenerować różne daty.
1 stycznia bieżącego roku
Za pomocą funkcji DATA, ROK i DZIŚ możemy złożyć prostą formułę, która zwróci nam datę będącą 1 stycznia bieżącego roku. Jest to przydatne, gdy chcemy np. wygenerować listę świąt dla bieżącego roku
=DATA(ROK(DZIŚ()); 1; 1)
W podobny sposób moglibyśmy wygenerować inne daty świąteczne np. 1 i 3 maj:
=DATA(ROK(DZIŚ()); 5; 1)
=DATA(ROK(DZIŚ()); 5; 3)
Z Wielkanocą jest nieco inaczej, gdyż jest to święto ruchome, ale zainteresowanych odsyłam do wpisu: Wyznaczanie daty Wielkanocy
Generowanie dat w formacie n-ty dzień dla poprzednich i następnych miesięcy
Bardzo fajna opcja to wygenerowanie np. 20 dnia następnego miesiąca (jest to data, do kiedy należy odprowadzić podatek dochodowy za bieżący miesiąc).
Na początek jednak coś prostszego wygenerujmy datę 1-szy dzień bieżącego miesiąca bieżącego roku (w komórce B2 jest wpisany bieżący rok, zamiast odwołania do komórki B2 można użyć funkcji DZIŚ())
=DATA(ROK(B2); MIESIĄC(B2); 1)
A co by było, gdyvbyśmy chcieli zwrócić datę zawierającą pierwszy dzień następnego miesiąca? Otóż w drugim argumencie funkcji DATA wystarczy do tego co zwróci funkcja miesiąc dodać 1. I tutaj nie trzeba się niczym przejmować. Jeśli funkcja MIESIĄC zwróci wartość 12 (a 12+1=13) to funkcja DATA automatycznie przeliczy to w ten sposób, że zmieni miesiąc z 13 na 1 a rok zwiększy o 1!!
=DATA(ROK(B2); MIESIĄC(B2)+1; 1)
No to teraz policzmy do kiedy należy zapłacić podatek dochodowy za bieżący miesiąc:
=DATA(ROK(B2);MIESIĄC(B2)+1;20)
A jeśli byśmy chcieli mieć datę 20-ty dzień poprzedniego miesiąca to wtedy wystarczy miesiąc zmniejszyć o 1 (i nie martwimy się, jak jest styczeń i nam wyjdzie zerowy miesiąc, Excel domyśli się, że chodzi nam wtedy o grudzień poprzedniego roku)
=DATA(ROK(B2); MIESIĄC(B2)-1; 20)
No to jeszcze obliczmy ostatni dzień poprzedniego miesiąca. Można to zrobić w ten sposób, że trzeci argument funkcji data to będzie 0 (czyli o 1 dzień wcześniej niż 1 dzień miesiąca):
=DATA(ROK(B2);MIESIĄC(B2);0)
Ewentualnie (pamiętamy, że data to liczba) dla daty 1 dzień bieżącego miesiąca odejmujemy wartość 1:
=DATA(ROK(B2);MIESIĄC(B2);1) - 1
Natomiast jeśli chcesz obliczać daty dla ostatnich dni miesięcy to tutaj mamy gotową funkcję: NR.SER.OST.DN.MIES.