Excel-formel: År är ett skottår -

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.

Bra länkar

Excel Bible (John Walkenbach) Massor av sätt att testa för skottår (Chandoo)

Intressanta artiklar...