• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

rekenen met jaartal

Status
Niet open voor verdere reacties.

Lathum

Gebruiker
Lid geworden
3 okt 2019
Berichten
7
Ik wil een uit een reeks waarden Schrikkeljaar (2024, 2028, 2032,2036) zoeken middels de jaarwaarde van het huidige jaar.

=ALS(VERT.ZOEKEN(HuidigJaar;Schrikkeljaar;1;ONWAAR)=HuidigJaar;"Ja";"Nee")
Als ik dit doe krijg ik retour: #N/B

Is het wel mogelijk of doe ik iets fout.
(zie bijlage)
 

Bijlagen

Zet er bij welke Excel versie je gebruikt.
 
Er staat #N/B als het gezochte jaar niet gevonden werd in je schrikkeljaren lijstje.

Daarnaast is eenvoudig te berekenen of een jaartal een schrikkeljaar betreft.
Met het jaartal in A1:
PHP:
=ALS(OF(REST(A1;400)=0;EN(REST(A1;4)=0;REST(A1;100)<>0));"Ja";"Nee")
 
Laatst bewerkt:
Je hebt geen lijst met schrikkeljaren nodig, je kan dit gewoon met een formule checken.
Code:
=ALS(OF(REST(A1;400)=0;EN(REST(A1;4)=0;REST(A1;100)<>0));"Ja";"Nee")
Voor A1 kun je ook HuidigJaar lezen natuurlijk.
 
Heel erg bedankt, het werkt.

Nog vraagje, wil graag de formule begrijpen, vandaar.
Hoe moet ik deze interpreteren? Wat is wat.
=ALS(OF(REST(A1;400)=0;EN(REST(A1;4)=0;REST(A1;100)&lt;&gt;0));"Ja";"Nee")
 
Daar wordt gecontroleerd of een jaartal deelbaar is door 400, 4 of 100.
Als dat zo is dan is het een schrikkeljaar.

Zie:
 
Ben even aan het testen gegaan voor latere schrikkeljaren.
Bij 2028 geeft de formule aan, dat 2028 géén schrikkeljaar is.
 
Geen idee hoe je dat hebt getest.

Schrikkeljaar.png
 
Ik gebruik hiervoor altijd de functie:

Code:
Function ISLEAPYEAR(Y As Integer) 'by Chip Pearson
    ISLEAPYEAR = Month(DateSerial(Y, 2, 29)) = 2
End Function
Jaar in A1 en in B1: =ISLEAPYEAR(A1)

Plaats de Function in een Module.

Groet,
Trainers
 
Ik heb verwezen naar "HuidigJaar". Dan krijg ik onderstaande uitkomst in oranje kleur blok.

=ALS(OF(REST(HuidigJaar;400)=0;EN(REST(HuidigJaar;4)=0;REST(HuidigJaar;100)<>0));"Ja";"Nee")

Huidig jaar:01-01-2028
Schrikkeljaar
[td]Nee[/td]
 
Daar staat geen 2028 maar 01-01-2028.
Het getal in de cel is dan 46753 en niet 2028.
 
Laatst bewerkt:
Ik gebruik hiervoor altijd de functie:

Code:
Function ISLEAPYEAR(Y As Integer) 'by Chip Pearson
    ISLEAPYEAR = Month(DateSerial(Y, 2, 29)) = 2
End Function
Jaar in A1 en in B1: =ISLEAPYEAR(A1)

Plaats de Function in een Module.

Groet,
Trainers
Die manier kan ook zonder VBA:
Code:
=ALS(MAAND(DATUM(A1;2;29))=2;"Ja";"Nee")
 
Hoi Trainers,
ik heb de function toegevoegd in de macro, maar dan krijg ik een foutmelding.
De Function verkeerd erin gezet?
gr. Rene
 

Bijlagen

Als je zegt een foutmelding te krijgen, vertel er dan ook bij welke dat is.
 
Wijzig de formule in B1 naar

Code:
=ISLEAPYEAR(JAAR(A1))

aangezien de functie in de fout gaat bij een volledige datum omdat ze enkel een jaartal aanvaard.
 
Laatst bewerkt:
Het kan prima zonder macro zoals edmoor in #13 ook al zei, zet deze formule in B1:
Code:
=ALS(MAAND(DATUM(JAAR(A1); 2; 29)) = 2;"Schrikkeljaar";"Geen schrikkeljaar")
En verder gebruik je namen voor je benoemde bereiken die de lading niet dekken.
 
Wijzig de formule in B1 naar

Code:
=ISLEAPYEAR(JAAR(A1))

aangezien de functie in de fout gaat bij een volledige datum omdat ze enkel een jaartal aanvaard.
Correct.
Maar dan moet A1 wel een echte Datum bevatten en niet bijvoorbeeld 01-01-2028 als Text.
In het voorbeeld van #11 lijkt het Tekst te zijn vanwege de uitlijning links.

@Lathum:
Een datum in Excel is het aantal dagen sinds 01-01-1900.
De datum 01-01-2028 is dus, zoals ik al zei, 46753 dagen sinds 01-01-1900.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan