Trudność: 🔴 (trudne)
Jak stworzyć kalendarz jedną formułą? Możesz oczywiście skopiować ostateczną wersję formuły z dołu tego wpisu, ale lepiej zanim to zrobimy poznaj kilka przydatnych funkcji.
funkcja DATA()
To funkcja tworząca datę na podstawie roku, miesiąca, dnia.
Przykład użycia: =DATA(2025;1;1)
Wynik: 2025-01-01
funkcja DZIEŃ.TYG()
To funkcja wyliczająca numer dnia tygodnia podanej daty.
Przykład użycia: =DZIEŃ.TYG( DATA(2025;1;1) )
Wynik: 4 (co sugeruje czwartek… ale to jest środa! Ta funkcja przyjmuje, że niedziela jest pierwszym dniem tygodnia)
Naprawmy to podając drugi argument tej funkcji: =DZIEŃ.TYG( DATA(2025;1;1); 2)
Wynik: 3 (dzięki argumentowi “2” Excel wyliczył dzień tygodnia przyjmując, że wynik “1” jest dla poniedziałku)
funkcja SEKWENCJA()
Dostępna w Microsoft 365. To funkcja wypełniająca zadany obszar zadaną treścią. Wynik będzie rozlany (trochę na ten temat w tym artykule MS Excel – typy odwołań).
Przykład użycia: =SEKWENCJA(3;5;0;1)
Wynik: 3 wiersze, 5 kolumn wypełnionych liczbami od 0 ze skokiem 1 (czyli aż do 14)
Rozwiązanie problemu
No to spróbujmy połączyć uzyskane informacje.
Ta formuła =SEKWENCJA(54;7;DATA(2025;1;1);1) sprawi, że 54 wiersze i 7 kolumn zostanie wypełnionych kolejnymi datami począwszy od 1 stycznia 2025. Jest tylko jeden problem. Data 2025-01-01 wypada w środę. Zatem naszą pierwszą datą sekwencji powinien być ostatni poniedziałek 2024 roku.
Dokonajmy wiec małej korekty, przy wyznaczaniu pierwszej daty sekwencji, wpisując formułę
=SEKWENCJA(53; 7; DATA(2025;1;1)-DZIEŃ.TYG(DATA(2025;1;1);2)+1; 1)
Używamy tu znanych Ci już funkcji
DZIEŃ.TYG(DATA(2025;1;1);2) daje w wyniku 3 wiec odejmując “3” od środy dostaniemy niedzielę, a my chcemy zacząć od poniedziałku… wiec dokładamy “1” otrzymując: DZIEŃ.TYG(DATA(2025;1;1);2)+1
Cała i ostateczna formuła wygląda tak: =SEKWENCJA(53; 7; DATA(2025;1;1)-DZIEŃ.TYG(DATA(2025;1;1);2)+1; 1)
Dokładając do tego stosunkowo proste formatowanie warunkowe uzyskamy efekt pokazany poniżej.
Pamiętaj o zmianie formatu wyników na “Data krótka”.
PS Takie i podobne rzeczy pojawiają się na naszych szkoleniach. W razie pytań pisz biuro@kursyb2b.pl