Vzorec aplikace Excel: Rok je přestupným rokem -

Obsah

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.

Dobré odkazy

Excel Bible (John Walkenbach) Mnoho způsobů, jak otestovat přestupný rok (Chandoo)

Zajímavé články...