Niedawno natrafiłem na takiego oto ciekawego demotywatora.

Na tyle mnie on zaciekawił, że postanowiłem sprawdzić jak często tłusty czwartek wypada w walentynki. Albo inaczej: jak często święto zakochanych wypada w tłusty czwartek. Co ciekawe owy demotywator nieco mija się z prawdą. Otóż już w 2064 roku zdarzy się taka sytuacja. To zaledwie 41 lat oczekiwania na owe święto! Ogólnie w latach 1900 – 9999 te dwa święta spotkają się w tym samym dniu aż 267 razy! Chętnie bym policzył, jak sytuacja wygląda dla szerszego zakresu, ale Excel na datach operuje poprawnie tylko w tym zakresie.
Pobierz skoroszyt zawierający rozwiązanie!
No więc zaczynajmy! W komórce A1 wpisz Rok, w komórce B1 Wielkanoc a w komórce C1 Tłusty czwartek. Następnie w komórce A2 wpisz wartość początkową, czyli 1900. Teraz w kolumnie A wypełnijmy wiersze wartościami od 1900 do 9999. W tym celu będąc w komórce A2 (tam gdzie jest początkowa wartość) na karcie Narzędzia główne z grupy poleceń Edytowanie wybierz polecenie Wypełnij -> Seria danych. Pojawi się okno dialogowe Serie. Zaznacz opcję Kolumny (gdyż w kolumnie czyli „w dół” chcemy mieć kolejne wartości). W polu Wartość końcowa wpisz 9999 i kliknij w OK.

Skoro mamy już w kolumnie A wypełnione wszystkie wiersze, to w komórce B2 wpisz formułę obliczającą datę Wielkanocy. Skorzystam z algorytmu Meeusa/Jonesa/Butchera (inna popularna formuła, która krąży w Internecie, poprawnie liczy Wielkanoc tylko dla dat do roku 2078):
=DATA(A2;ZAOKR.DÓŁ((MOD((19*MOD(A2;19)+ZAOKR.DÓŁ(A2/100;0)-ZAOKR.DÓŁ(ZAOKR.DÓŁ(A2/100;0)/4;0)-ZAOKR.DÓŁ((ZAOKR.DÓŁ(A2/100;0)-ZAOKR.DÓŁ((ZAOKR.DÓŁ(A2/100;0)+8)/25;0)+1)/3;0)+15);30)+MOD((32+2*MOD(ZAOKR.DÓŁ(A2/100;0);4)+2*ZAOKR.DÓŁ(MOD(A2;100)/4;0)-MOD((19*MOD(A2;19)+ZAOKR.DÓŁ(A2/100;0)-ZAOKR.DÓŁ(ZAOKR.DÓŁ(A2/100;0)/4;0)-ZAOKR.DÓŁ((ZAOKR.DÓŁ(A2/100;0)-ZAOKR.DÓŁ((ZAOKR.DÓŁ(A2/100;0)+8)/25;0)+1)/3;0)+15);30)-MOD(MOD(A2;100);4));7)-7*ZAOKR.DÓŁ((MOD(A2;19)+11*MOD((19*MOD(A2;19)+ZAOKR.DÓŁ(A2/100;0)-ZAOKR.DÓŁ(ZAOKR.DÓŁ(A2/100;0)/4;0)-ZAOKR.DÓŁ((ZAOKR.DÓŁ(A2/100;0)-ZAOKR.DÓŁ((ZAOKR.DÓŁ(A2/100;0)+8)/25;0)+1)/3;0)+15);30)+22*MOD((32+2*MOD(ZAOKR.DÓŁ(A2/100;0);4)+2*ZAOKR.DÓŁ(MOD(A2;100)/4;0)-MOD((19*MOD(A2;19)+ZAOKR.DÓŁ(A2/100;0)-ZAOKR.DÓŁ(ZAOKR.DÓŁ(A2/100;0)/4;0)-ZAOKR.DÓŁ((ZAOKR.DÓŁ(A2/100;0)-ZAOKR.DÓŁ((ZAOKR.DÓŁ(A2/100;0)+8)/25;0)+1)/3;0)+15);30)-MOD(MOD(A2;100);4));7))/451;0)+114)/31;0);MOD((MOD((19*MOD(A2;19)+ZAOKR.DÓŁ(A2/100;0)-ZAOKR.DÓŁ(ZAOKR.DÓŁ(A2/100;0)/4;0)-ZAOKR.DÓŁ((ZAOKR.DÓŁ(A2/100;0)-ZAOKR.DÓŁ((ZAOKR.DÓŁ(A2/100;0)+8)/25;0)+1)/3;0)+15);30)+MOD((32+2*MOD(ZAOKR.DÓŁ(A2/100;0);4)+2*ZAOKR.DÓŁ(MOD(A2;100)/4;0)-MOD((19*MOD(A2;19)+ZAOKR.DÓŁ(A2/100;0)-ZAOKR.DÓŁ(ZAOKR.DÓŁ(A2/100;0)/4;0)-ZAOKR.DÓŁ((ZAOKR.DÓŁ(A2/100;0)-ZAOKR.DÓŁ((ZAOKR.DÓŁ(A2/100;0)+8)/25;0)+1)/3;0)+15);30)-MOD(MOD(A2;100);4));7)-7*ZAOKR.DÓŁ((MOD(A2;19)+11*MOD((19*MOD(A2;19)+ZAOKR.DÓŁ(A2/100;0)-ZAOKR.DÓŁ(ZAOKR.DÓŁ(A2/100;0)/4;0)-ZAOKR.DÓŁ((ZAOKR.DÓŁ(A2/100;0)-ZAOKR.DÓŁ((ZAOKR.DÓŁ(A2/100;0)+8)/25;0)+1)/3;0)+15);30)+22*MOD((32+2*MOD(ZAOKR.DÓŁ(A2/100;0);4)+2*ZAOKR.DÓŁ(MOD(A2;100)/4;0)-MOD((19*MOD(A2;19)+ZAOKR.DÓŁ(A2/100;0)-ZAOKR.DÓŁ(ZAOKR.DÓŁ(A2/100;0)/4;0)-ZAOKR.DÓŁ((ZAOKR.DÓŁ(A2/100;0)-ZAOKR.DÓŁ((ZAOKR.DÓŁ(A2/100;0)+8)/25;0)+1)/3;0)+15);30)-MOD(MOD(A2;100);4));7))/451;0)+114);31)+1)
Trochę wyszedł potworek. Bardziej czytelna wersja tego algorytmu jest przedstawiona w notce wyznaczanie daty wielkanocy ale ona ma tę wadę, że formuły są rozwleczone na 16 komórek a ja tutaj zbudowałem taką fajną skumulowaną super formułę, która się mieści w jednej komórce.
Wskazówka: aby skopiować formułę do pozostałych komórek nie trzeba „ciągnąć za kropę” wystarczy w nią dwa razy kliknąć.
No to teraz tłusty czwartek. Tutaj sprawa jest prosta: Tłusty czwartek wypada 52 dni przed Wielkanocą, więc w komórce C2 należy wpisać formułę:
=B2-52
I gotowe! Mamy obliczone daty tłustego czwartku! Teraz możemy zaznaczyć wszystkie komórki w kolumnie C (najprościej: przejdź do C2 i naciśnij kombinację klawiszy Ctrl + Shift + strzałka w dół) i stworzyć regułę formatowania warunkowego. W tym celu na karcie Narzędzia główne wybierz polecenie: Formatowanie warunkowe Nowa reguła. W polu Wybierz typ reguły zaznacz opcję Użyj formuły do określenia komórek, które należy sformatować.

Następnie w polu Formatuj wartości, dla których następująca formuła jest prawdziwa wpisz formułę:
=ORAZ(MIESIĄC($C2)=2; DZIEŃ($C2)=14)
Kliknij w przycisk Formatuj, aby określić w jaki sposób mają być wyróżniane te daty, które wypadają 14 lutego (np. czerwony kolor tła). I to wszystko. Jeśli wszystko poprawnie wykonałeś, to niektóre z komórek powinny mieć czerwony kolor wypełnienia.
Jeśli nie chcesz ręcznie przewijać wszystkich dat, aby wyłowić te komórki, które są czerwone możesz włączyć filtrowanie po kolorach. W tym celu mając kursor wewnątrz zakresu naciśnij kombinację klawiszy Ctrl + Shift + L. Następnie kliknij w strzałkę filtru w kolumnie Tłusty czwartek i wybierz polecenie Filtruj według koloru.

I to wszystko! Napisz w komentarzu jakie inne ciekawe pary świąt można by było sprawdzić!