Microsoft Excel

Das Portal zum Thema Excel-Formeln

Gruppe: Datum/Zeit

Beitrag: Ist das angegebene Jahr ein Schaltjahr ?

Aufgabe
Es soll angegeben werden, ob es sich bei einem Datum / einer Jahreszahl um ein Schaltjahr handelt.

Microsoft kommt mit Schaltjahren manchmal ins Schleudern.
1900 war kein Schaltjahr dafür aber 1600

Schaltjahre sind nach 1500 alle glatten Jahrhunderte, die ohne Rest durch 400 teilbar sind (2000: ja / 2100: nein) und alle sonstigen Jahre, die ohne Rest durch 4 teilbar sind.


Lösung
Das Datum (ab 01.01.1900 bis 31.12.9999) steht in A1

=WENN(TAG(DATUM(JAHR(A1)+400;3;0))=28;"kein ";)&"Schaltjahr"


Falls in A1 kein Datum sondern nur eine Jahreszahl steht, dann:

=WENN((REST(A1;4)=0)-(REST(A1;100)=0)+(REST(A1;400)=0)=0;"kein ";)&"Schaltjahr"
anders:
=WENN(SUMME((REST(A1;{4;100;400})={0;0;0})*{1;-1;1})=0;"kein ";)&"Schaltjahr"
ganz anders:
=WENN(337+TAG(("1.3."&A1+2000)-1)=365;"kein ";)&"Schaltjahr"

Diese Formeln funktionieren auch vor dem Microsoft-Urknall 1900.
Um die Jahre vor Gregor 1582 (da galt die 400er-Regel ja nicht), darzustellen, an obige letzte 3 Formeln vor dem letzten = anhängen:
+(LÄNGE(A1/100)<3)*(A1/100<16)*(REST(A1/400;1)>0)

Erläuterung
1582 wäre (logo) eine extra WENN-Abfrage =355 Tage.