
Obecný vzorec
=MONTH(DATE(YEAR(date),2,29))=2
souhrn
Chcete-li otestovat, zda je rok určitého data přestupným rokem, můžete použít vzorec, který používá funkce MĚSÍC, ROK a DATUM. V zobrazeném příkladu je vzorec v buňce C5:
=MONTH(DATE(YEAR(B5),2,29))=2
Vysvětlení
Jádrem tohoto vzorce je funkce DATUM, která se automaticky přizpůsobí hodnotám měsíce a roku, které jsou mimo rozsah. Ve vzorci je rok předán do data beze změny, spolu s 2 pro měsíc (únor) a 29 pro den. V přestupných letech má únor 29 dní, takže funkce DATE jednoduše vrátí datum 29. února roku.
V nepřestupných letech však DATE vrátí datum 1. března roku, protože v únoru není 29. den a DATE jednoduše posune datum dopředu na další měsíc.
Nakonec funkce MONTH jednoduše extrahuje měsíc z výsledku poskytnutého DATE, který je porovnán s 2 pomocí znaménka rovná se. Pokud je měsíc 2, vrátí vzorec hodnotu TRUE. Pokud ne, musí být měsíc 3 a vzorec vrátí FALSE.
Pouze zkušební rok
Chcete-li zkontrolovat pouze rok, namísto celého data namísto data upravte vzorec níže:
=MONTH(DATE(year,2,29))=2
V této verzi nebudeme extrahovat roční hodnotu z data, předáme roční hodnotu (tj. 2020) přímo do funkce DATE.
Doslovnější řešení
Pokud se výše uvedený vzorec zdá příliš chytrý a chcete více doslovného řešení, bude níže uvedený vzorec testovat, zda rok místo toho obsahuje 366 dní:
=DATE(YEAR(date)+1,1,1)-DATE(YEAR(date),1,1)=366
Tento vzorec generuje dvě data založená na uvedeném datu: (1) první v příštím roce a (2) první v aktuálním roce. Pak se první aktuálního roku odečte od prvního následujícího roku. V nepřestupných letech je výsledkem 365 a vzorec vrátí FALSE. V přestupných letech je výsledek 366 a vzorec vrátí TRUE.