Excel vzorec: Rok je priestupný

Všeobecný vzorec

=MONTH(DATE(YEAR(date),2,29))=2

Zhrnutie

Ak chcete vyskúšať, či je rok určitého dátumu priestupným rokom, môžete použiť vzorec, ktorý používa funkcie MESIAC, ROK a DÁTUM. V zobrazenom príklade je vzorec v bunke C5:

=MONTH(DATE(YEAR(B5),2,29))=2

Vysvetlenie

Jadrom tohto vzorca je funkcia DÁTUM, ktorá sa automaticky upraví na hodnoty mesiaca a roka, ktoré sú mimo rozsahu. Vo vzorci je rok zadaný do nezmeneného dátumu spolu s 2 pre mesiac (február) a 29 pre deň. V priestupných rokoch má február 29 dní, takže funkcia DATE jednoducho vráti dátum 29. február roku.

V nepretržitých rokoch však DATE vráti dátum 1. marec roku, pretože vo februári nie je 29. deň a DATE jednoducho posunie dátum dopredu na nasledujúci mesiac.

Nakoniec funkcia MONTH jednoducho extrahuje mesiac z výsledku poskytnutého DATE, ktorý sa porovná s 2 pomocou znamienka rovnosti. Ak je mesiac 2, vzorec vráti TRUE. Ak nie, musí byť mesiac 3 a vzorec vráti FALSE.

Iba skúšobný rok

Ak chcete skontrolovať iba rok, namiesto celého dátumu namiesto dátumu upravte vzorec nižšie:

=MONTH(DATE(year,2,29))=2

V tejto verzii extrahujeme ročnú hodnotu z dátumu, ročnú hodnotu (tj. 2020) odovzdáme priamo funkcii DATE.

Doslovnejšie riešenie

Ak sa vyššie uvedený vzorec zdá byť príliš chytrý a chcete mať doslovnejšie riešenie, nasledujúci vzorec otestuje, či rok obsahuje namiesto toho 366 dní:

=DATE(YEAR(date)+1,1,1)-DATE(YEAR(date),1,1)=366

Tento vzorec generuje dva dátumy založené na poskytnutom dátume: (1) prvý v nasledujúcom roku a (2) prvý v aktuálnom roku. Potom sa prvý aktuálny rok odpočíta od prvého nasledujúceho roku. V nepretržitých rokoch je výsledok 365 a vzorec vráti FALSE. V priestupných rokoch je výsledok 366 a vzorec vráti hodnotu PRAVDA.

Dobré odkazy

Excel Bible (John Walkenbach) Mnoho spôsobov testovania na priestupný rok (Chandoo)

Zaujímavé články...