
Generieke formule
=MONTH(DATE(YEAR(date),2,29))=2
Samenvatting
Om te testen of het jaar van een bepaalde datum een schrikkeljaar is, kunt u een formule gebruiken die de functies MONTH, YEAR en DATE gebruikt. In het weergegeven voorbeeld is de formule in cel C5:
=MONTH(DATE(YEAR(B5),2,29))=2
Uitleg
De kern van deze formule is de DATUM-functie, die zich automatisch aanpast aan maand- en jaarwaarden die buiten het bereik vallen. In de formule wordt het jaar ongewijzigd in de datum overgegaan, samen met 2 voor maand (februari) en 29 voor de dag. In schrikkeljaren heeft februari 29 dagen, dus de DATUM-functie retourneert gewoon de datum 29 februari van het jaar.
In niet-schrikkeljaren retourneert DATE echter de datum 1 maart van het jaar, omdat er geen 29e dag in februari is, en DATE rolt de datum gewoon vooruit naar de volgende maand.
Ten slotte haalt de functie MAAND eenvoudig de maand uit het resultaat van DATE, dat wordt vergeleken met 2 met het gelijkteken. Als de maand 2 is, retourneert de formule WAAR. Als dit niet het geval is, moet de maand 3 zijn en retourneert de formule FALSE.
Alleen testjaar
Om alleen een jaar te controleren, in plaats van een volledige datum, in plaats van een datum, wijzigt u de formule zoals hieronder:
=MONTH(DATE(year,2,29))=2
In deze versie extraheren we geen jaarwaarde van een datum, we geven een jaarwaarde (dwz 2020) rechtstreeks door aan de functie DATUM.
Een meer letterlijke oplossing
Als de bovenstaande formule te slim lijkt, en u een meer letterlijke oplossing wilt, test de onderstaande formule of een jaar 366 dagen bevat:
=DATE(YEAR(date)+1,1,1)-DATE(YEAR(date),1,1)=366
Deze formule genereert twee datums op basis van de opgegeven datum: (1) de eerste van het volgende jaar en (2) de eerste van het huidige jaar. Dan wordt de eerste van het lopende jaar afgetrokken van de eerste van het volgende jaar. In niet-schrikkeljaren is het resultaat 365 en retourneert de formule FALSE. In schrikkeljaren is het resultaat 366 en retourneert de formule WAAR.