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

Opgelost Verschil datum

Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.

nancy70

Gebruiker
Lid geworden
10 jan 2012
Berichten
61
Hi,
Weet iemand de meest zuivere formule om het verschil in 2 datum velden te berekenen in het aantal jaar, vervolgens resterend aantal maanden en tot slot het restant in dagen.
Dus uitkomst niet in totaal aantal maanden of jaren of dagen, maar gesplitst.
Ik heb datedif en edate geprobeerd maar kom dan niet altijd exact uit

Gr
Nancy
 
Zoiets (zie bijlage)

Geef anders eens een voorbeeldje waarin het niet exact uitkomt.
 

Bijlagen

Laatst bewerkt:
Nancy nochtans al lang genoeg lid om te weten dat een voorbeeld bestandje altijd op prijs gesteld wordt.
(de meeste helpers typen niet graag)
 

Bijlagen

=JAAR.DEEL(A2;B2)
=INTEGER(JAAR.DEEL(A4;VANDAAG();1))
=AFRONDEN.NAAR.BENEDEN(JAAR.DEEL(A6;VANDAAG();1);0)
=INTEGER(JAAR.DEEL(A8;B8;1))
=AFRONDEN.NAAR.BENEDEN(JAAR.DEEL(A10;B10;1);0)
=GEHEEL(JAAR.DEEL(A12;B12;1))
 
Ik geef wat extra opties. Iemand die interesse heeft kan dat uitproberen. Jij en AlexCel geven een prima voorbeeldbestand en TS komt met een uitleg datedif en edate waar ik niets uit kan concluderen en ik geef wat formules om te proberen met of zonder drank.;)
 
Exact rekenen in jaren, maanden en dagen is lastig voor Excel omdat maanden ongelijke dagen hebben en een maand dus 28,29,30 of 31 dagen kan zijn.

De DATEDIF() functie werkt prima voor jaren en maanden met de parameters "Y" en "YM"
jaar
=DATUMVERSCHIL($A3;$B3;"y")
maand
=DATUMVERSCHIL($A3;$B3;"ym")

Voor dagen is de "MD"parameter echter onbetrouwbaar, zoals ook in de waarschuwing van de helptekst staat.
Maar met deze formule kunnen alle situaties gedekt worden, althans in mijn tests
=ALS.VOORWAARDEN(DAG(B7)=DAG(A7);0;DAG(B7)<DAG(A7);B7-ZELFDE.DAG(A7;D7*12+E7);DAG(B7)>DAG(A7);DAG(B7)-DAG(A7))

in delen:
Als de dag start en eind hetzelfde is dan wordt het aantal dagen altijd 0
=ALS.VOORWAARDEN(DAG(B7)=DAG(A7);0;

Als de einddag kleiner is dan de startdag dan wordt van de einddatum de zelfde dag van de maand ervoor afgetrokken, daarbij worden de aantal jaren * 12 en aantal maanden uit de kolom D en E gebruikt.
DAG(B7)<DAG(A7);B7-ZELFDE.DAG(A7;D7*12+E7);

Als de einddag groter is dan de start dag dan worden die dagen van elkaar afgetrokken
DAG(B7)>DAG(A7);DAG(B7)-DAG(A7))

Daarmee dek je alle opties en tackel je het probleem van het verschillend aantal dagen tussen kortere en langere maanden.

zie bestand voor bijlagen (als start het bestandje van AlexCel genomen)
 

Bijlagen

Mooie uitleg Roel. 👍
Werking van de formule is soms afhankelijk van de versie.
 
Aanvulling op mijn eerste reactie.
De ALS.VOORWAARDEN is een beetje een overdesigned formule..

met
=B7-ZELFDE.DAG(A7;D7*12+E7)

krijg je precies dezelfde uitkomsten.
Er is mogelijk wel wat meer complexiteit nodig als het gaat om interpretatie van verwachte uitkomsten vooral als de startdatum de laatste dag van de maand is krijg je bij korte en lange maanden verschillende antwoorden die rekenkundig juist zijn maar menselijke interpretatie het anders zal/kan zien.

zie onderstaand voorbeeld:
starteindjaarmaand
dag​
31-5-2024​
30-9-2024​
0​
3​
30​
30-5-2024​
30-9-2024​
0​
4​
0​
30-4-2024​
30-8-2024​
0​
4​
0​
30-4-2024​
31-8-2024​
0​
4​
1​

rekenkundig klopt het wel dat de eerste regel 3 maanden en 30 dagen geeft als uitkomst. maar ik denk dat de meeste mensen dit ook 4 maanden vinden. en zo ook met de andere regels, volle maanden of niet.

Maar daarvoor heb ik/we eigenlijk input van de vraagsteller nodig.. want dit gaat vooral over interpretatie hoe je het als gebruiker(s) in dit geval wil zien. want je kunt dit of met formules oplossen, maar soms kunnen werkafspraken over wat als eind en begin datum geldt ook helpen.

zo werk ik met een systeem dat een "tot" datum verwacht en dat is dus altijd 1 dag na de laatste dag dat er gewerkt is.
Dus als iemand de hele maand februari voor je werkt dan moet je van 1 feb tm 1 mrt ingeven want als je 29 feb (t/m datum) invult dan rekent het systeem het niet mee als werkdag.


Het goede antwoord is dus ook vooral afhankelijk van het gebruiksdoel in de praktijk..
 

Bijlagen

Maar daarvoor heb ik/we eigenlijk input van de vraagsteller nodig.. want dit gaat vooral over interpretatie hoe je het als gebruiker(s) in dit geval wil zien. want je kunt dit of met formules oplossen, maar soms kunnen werkafspraken over wat als eind en begin datum geldt ook helpen.
Klopt. Beetje creativiteit is nooit weg. Vaak komt het niet aan op één dag. Often it doesn't depend on one day?
 
Hi, nee de periode gesplitst in jaren, maanden, dagen waarbij dagen wel 0 kan zijn
 
Dat is wat Roel al schreef:
op 01/04/24 ben je nog geen 40 jaar!
Dit is ook voor de rij 3 het geval vul dan in B2 en B3 02/04/24 in
wil je in C2 alleen 40 jaar dan kort je de formule in!


02/04/84​
01/04/24​
39 jaar 11 maanden 30 dagen40 jaar
 
Dit is waar ik een beetje "bang" voor was
Het gaat om interpretatie. Waarom is iemand die op 2 april is geboren op 1 april van enig jaar al 40?
Wat er gebeurd is dat excel het aantal dagen berekend tov van vorige maand duur. Dus in jou voorbeeld toont hij met 1 april 30 dagen en pas op 2 april gaat ie naar 31 dagen en volle maand
Dus ondanks dat april een 30 dagen maand toont hij 39 jaar, 11 mndn en 30 dagen omdat maart 31 dagen is

Als iemand op 2 maart is geboren en de 2e datum is 1 maart dan toont hij 27 of 28 dagen en gaat op 2 maart naar 40 jaar

2-3-1984​
1-3-2023​
38 jaar 11 maanden 27 dagen
2-3-1984​
1-3-2024​
39 jaar 11 maanden 28 dagen
2-5-1984​
1-5-2024​
39 jaar 11 maanden 29 dagen
2-8-1984​
1-8-2024​
39 jaar 11 maanden 30 dagen

Wat mij betreft klopt het aantal dagen dus. Zeker bij verjaardagen/leeftijden, als iemand op 2 april jarig is wordt die op 2 april 40 jaar en niet op 1 april..
Het aantal dagen dat wordt getoond 1 dag voor de verjaardag is dus afhankelijk van hoeveel dagen de maand voor de verjaardag heeft.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan