• 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.

Schrikkeljaarprobleem in kalender

Status
Niet open voor verdere reacties.

NIh1IlO

Gebruiker
Lid geworden
4 feb 2003
Berichten
750
Beste specialisten,

In een ander topic werd een kalender aangemaakt volgend de richtlijnen van CorVerm uit de laatste Nieuwsbrief.
Hier en daar werden zelfs nog wat extra's toegevoegd qua voorwaardelijke opmaak.
De weergave van de schrikkeljaren is echter niet steeds correct zoals blijkt uit de bijlage.
Bovendien moet er ook nog een onderscheid worden gemaakt tussen de schrikkeljaren van de eeuwwisselingen die al dan niet een veelvoud zijn van 400.
Ik zoek dus de correcte formule om die foutjes weg te werken.
Wie vindt de goede formule voor de cel AE8?

Met vriendelijke dank op voorhand,

nIh1IlO
 

Bijlagen

  • Kal_2010.xlsx
    37,5 KB · Weergaven: 101
Hier je aangepast bestandje.

Bekijk ook eens het aantal voorwaardelijke opmaken die je in het bestandje staat.
Dat kan volgens mij ook een stuk minder.
 

Bijlagen

  • Copy of Kal_2010.xlsx
    36,9 KB · Weergaven: 72
Laatst bewerkt:
Beste poppipo,

Bedankt voor je snelle reactie.
Ik besef dat de voorwaardelijke opmaak wellicht nog kan/moet geoptimaliseerd worden.
Ik wilde echter eerst het schrikkeljaarprobleem aanpakken.
Ik heb jouw bestand aandachtig bekeken en uitgeprobeerd en er zitten m.i. onjuistheden in. Inderdaad het jaar 1900 zou geen schrikkeljaar zijn want niet deelbaar door 4 of 400 (voor dit laatste wat de eeuwwisselingen betreft). Daarentegen wordt voor 2100 wel een 29 februari weergegeven.
De formule in cel AE8 moet dus wellicht nog verbeterd/aangepast worden om het correcte resultaat te bekomen.
Ik kijk er al naar uit.

Met vriendelijke groeten,

nIh1IlO
 
Of het jaar 2100 nu wel of geen schikkeljaar is maakt toch niet zo veel uit.
Dit bestandje maakt dat toch niet meer mee en je zelf waarschijnlijk ook niet.
 
Willem,

Eens, maar toch voor E8
Code:
=ALS(OF(REST(jaar;400)=0;EN(REST(jaar;4)=0;REST(jaar;100)<>0));AD8+1;"")
Hier gevonden en via deze weg vind je nog meer.
 
Laatst bewerkt:
Beste NIh1IlO ;)

Zie mijn bestandje.

Sommige formules van CorVerm zijn overbodig.
Vb: =DATUM(JAAR(C5);MAAND(C5);DAG(C5)+1)

Gewoon =C5+1

Groetjes Danny. :thumb:
 

Bijlagen

  • Kalender tot het einde van het jaar.xls
    58,5 KB · Weergaven: 69
@rdg1314

Waarom zou je er iets inzetten als je het toch niet gebruikt en alleen maar voor de volledigheid inzet.
Kost alleen maar rekenkracht.
Zie daarom ook mijn onderschrift.

@danny147

Dit had ik ook al veranderd in mijn bestandje (post #2 van 12:09 uur)
 
Waarom zou je er iets inzetten als je het toch niet gebruikt en alleen maar voor de volledigheid inzet. Kost alleen maar rekenkracht. Zie daarom ook mijn onderschrift.
Willem,

Snap deze opmerking niet.
 
Beste meedenkers,

Of het jaar 2100 nu wel of geen schikkeljaar is maakt toch niet zo veel uit.
Dit bestandje maakt dat toch niet meer mee en je zelf waarschijnlijk ook niet.
Van deze reactie wordt ik uiteraard niets wijzer! Het gaat om het vinden van een correcte, goed werkende formule.

De formule van rdg1314 werkt maar geeft toch weer een foutmelding voor het jaar 1600, weliswaar in het verleden maar het gaat om de formule; zie bijlage. 1600 is wel deelbaar door 400 en door 4 en ook door 100.

@danny147: ik zal de opmaak aanpakken nadat ik er eerst uit geraak met de formule voor de schrikkeljaren. Ik verlies je advies zeker niet uit het oog.

Ik blijf hopen op de correcte formule.

Met vriendelijke groeten,

nIh1IlO
 

Bijlagen

  • Kal_2010.xlsx
    37,5 KB · Weergaven: 50
De formule van rdg1314 werkt maar geeft toch weer een foutmelding voor het jaar 1600, weliswaar in het verleden maar het gaat om de formule; zie bijlage. 1600 is wel deelbaar door 400 en door 4 en ook door 100.
Klopt, want Excel rekent pas met data vanaf 1900, dus alles daarvoor wordt niet herkend als datum. Na het jaar 9999 ga je ook de mist in dus je kunt slecht 8.099 jaartallen gebruiken.
 
Laatst bewerkt:
@rdg1314,

Nochtans 1596,1604,1696,1704 en 1896 doen het wel correct!
Na 9999 ontstaat er inderdaad een probleem.

Het heeft naar mijn bescheiden mening iets maken met de juiste formulering van de voorwaarden in de formule.
schrikkeljaren komen voor in de jaren deelbaar door 4, in de eeuwwisselingen deelbaar door 400 en dus niet in de eeuwwisselingen deelbaar door 100. Die 3 elementen in een juiste formule moeten m.i. toelaten een correcte formule te creëren

Groeten,

nIh1IlO
 
Bij 29 februari het celformaat even aangepast en het jaar 1600 ingevuld
Bekijk nu de datum eens.
Komen we terug bij
Excel kan niet rekenen met jaren voor 1900
 

Bijlagen

  • Copy of Kal_2010_2.xlsx
    37,3 KB · Weergaven: 68
Dag popipipo,

Er is inderdaad een verschil van 1900. Zou dit dan niet kunnen wegge'formule'erd worden?

Groetjes,

nIh1IlO
 
Als je de formule niet naar C5 maar naar AI2 laat verwijzen gaat de berekening denk ik goed.
Code:
=IF(MOD(AI2;4)=0;AD8+1;"")
Maar de inhoud van cel AE8 blijft verkeerd.
 
Beste popipipo,

Ik heb het als volgt proberen op te lossen:
AI1 het jaartal invoeren
AI2 voorzien van volgende formule: =ALS(AI1<=1900;AI1+1900;AI1) waarbij de knoppen verwijzen naar AI2. Maar ook dat geeft een verwarrend resultaat.
Inderdaad 1600 wordt dan 3500 en dat is uiteraard geen schrikkeljaar.
Ik zal me dus moeten neerleggen bij het feit dat het systeem slechts geldt vanaf 1900 exclusief.

Met vriendelijke groeten voor het blijvend meedenken.

nIh1IlO
 
Inderdaad, is inmiddels gebeurd.

Vriendelijke groeten en dank aan alle meedenkers, :thumb:

nIh1IlO
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan