
Generisk formel
=MONTH(DATE(YEAR(date),2,29))=2
Sammanfattning
För att testa om året för ett visst datum är ett skottår kan du använda en formel som använder funktionerna MÅNAD, ÅR och DATUM. I exemplet som visas är formeln i cell C5:
=MONTH(DATE(YEAR(B5),2,29))=2
Förklaring
Kärnan i denna formel är DATE-funktionen, som automatiskt justeras till månads- och årsvärden som ligger utanför intervallet. I formeln överförs året till datum oförändrat, tillsammans med 2 för månad (februari) och 29 för dagen. Under skottår har februari 29 dagar, så DATE-funktionen returnerar helt enkelt datumet 29 februari året.
Under icke-skottår returnerar DATE dock datumet den 1 mars året, eftersom det inte finns någon 29: e dag i februari, och DATE rullar helt enkelt datumet fram till nästa månad.
Slutligen extraherar månadsfunktionen helt enkelt månaden från resultatet från DATE, vilket jämförs med 2 med lika tecken. Om månaden är 2 returnerar formeln SANT. Om inte måste månaden vara 3 och formeln returnerar FALSE.
Endast testår
För att endast kontrollera ett år, istället för ett fullständigt datum, istället för ett datum, ändra formeln enligt nedan:
=MONTH(DATE(year,2,29))=2
I den här versionen extraherar vi inte ett årsvärde från ett datum, vi skickar ett årsvärde (dvs. 2020) direkt till DATE-funktionen.
En mer bokstavlig lösning
Om formeln ovan verkar för smart och du vill ha en mer bokstavlig lösning kommer formeln nedan att testa om ett år innehåller 366 dagar istället:
=DATE(YEAR(date)+1,1,1)-DATE(YEAR(date),1,1)=366
Denna formel genererar två datum baserat på det angivna datumet: (1) det första nästa år och (2) det första för innevarande år. Sedan subtraheras det första av innevarande år från det första året därpå. Under icke-skottår är resultatet 365 och formeln returnerar FALSE. Under skottår är resultatet 366 och formeln returnerar SANT.