
Formuła ogólna
=MONTH(DATE(YEAR(date),2,29))=2
Podsumowanie
Aby sprawdzić, czy rok określonej daty jest rokiem przestępnym, możesz użyć formuły korzystającej z funkcji MIESIĄC, ROK i DATA. W przedstawionym przykładzie formuła w komórce C5 to:
=MONTH(DATE(YEAR(B5),2,29))=2
Wyjaśnienie
Rdzeniem tej formuły jest funkcja DATA, która automatycznie dostosowuje się do wartości miesiąca i roku spoza zakresu. We wzorze rok przechodzi w datę bez zmian, wraz z 2 miesiącem (luty) i 29 dniem. W latach przestępnych luty ma 29 dni, więc funkcja DATA zwróci po prostu datę 29 lutego danego roku.
Jednak w latach innych niż przestępne DATE zwróci datę 1 marca roku, ponieważ w lutym nie ma 29 dnia, a DATA po prostu przesuwa datę do przodu na następny miesiąc.
Na koniec funkcja MIESIĄC po prostu wyodrębnia miesiąc z wyniku podanego przez DATĘ, który jest porównywany z 2 przy użyciu znaku równości. Jeśli miesiąc to 2, formuła zwraca wartość PRAWDA. Jeśli nie, miesiąc musi wynosić 3, a formuła zwraca FALSE.
Tylko rok testowy
Aby sprawdzić tylko rok, zamiast pełnej daty, zamiast daty, zmodyfikuj wzór w następujący sposób:
=MONTH(DATE(year,2,29))=2
W tej wersji nie wyodrębniamy wartości roku z daty, przekazujemy wartość roku (tj. 2020) bezpośrednio do funkcji DATE.
Bardziej dosłowne rozwiązanie
Jeśli powyższy wzór wydaje się zbyt sprytny i chcesz bardziej dosłownego rozwiązania, poniższy wzór sprawdzi, czy rok zawiera 366 dni:
=DATE(YEAR(date)+1,1,1)-DATE(YEAR(date),1,1)=366
Ta formuła generuje dwie daty na podstawie podanej daty: (1) pierwszy w następnym roku i (2) pierwszy w bieżącym roku. Następnie pierwszy rok bieżącego jest odejmowany od pierwszego roku następnego. W latach innych niż przestępne wynikiem jest 365, a formuła zwraca FALSE. W latach przestępnych wynikiem jest 366, a formuła zwraca wartość PRAWDA.