Formula Excel: Anul este un an bisect

Cuprins

Formula generică

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

rezumat

Pentru a testa dacă anul unei anumite date este un an bisect, puteți utiliza o formulă care utilizează funcțiile LUNĂ, AN și DATĂ. În exemplul prezentat, formula din celula C5 este:

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

Explicaţie

Nucleul acestei formule este funcția DATE, care se va regla automat la valorile lunii și anului care sunt în afara intervalului. În formulă, anul este trecut la data neschimbat, împreună cu 2 pentru lună (februarie) și 29 pentru zi. În anii bisecți, februarie are 29 de zile, astfel încât funcția DATE va returna pur și simplu data de 29 februarie a anului.

Cu toate acestea, în anii non-bisecti, DATE va returna data de 1 martie a anului, deoarece nu există nici o zi a 29-a în februarie, iar DATE pur și simplu rulează data înainte pentru luna următoare.

În cele din urmă, funcția MONTH extrage pur și simplu luna din rezultatul furnizat de DATE, care este comparat cu 2 folosind semnul egal. Dacă luna este 2, formula returnează TRUE. Dacă nu, luna trebuie să fie 3 și formula returnează FALS.

Numai anul de testare

Pentru a verifica doar un an, în loc de o dată completă, în loc de o dată, modificați formula după cum urmează:

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

În această versiune, nu extragem o valoare de an dintr-o dată, trecem o valoare de an (adică 2020) direct funcției DATE.

O soluție mai literală

Dacă formula de mai sus pare prea inteligentă și doriți o soluție mai literală, formula de mai jos va testa dacă un an conține în schimb 366 de zile:

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

Această formulă generează două date pe baza datei furnizate: (1) prima anului următor și (2) prima anului curent. Apoi, primul din anul curent este scăzut din primul din anul următor. În anii non-bisecți, rezultatul este 365 și formula returnează FALS. În anii bisecți, rezultatul este 366 și formula returnează TRUE.

Legături bune

Excel Bible (John Walkenbach) O mulțime de moduri de a testa anul bisect (Chandoo)

Articole interesante...