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

Aantal dagen converteren in jaren, maanden en dagen

Status
Niet open voor verdere reacties.

Dieter11

Nieuwe gebruiker
Lid geworden
26 jul 2012
Berichten
2
Goedemiddag,

Wie kan mij helpen met de zoektocht naar een functie waarbij het aantal dagen moet worden omgezet in jaren, maanden en dagen.

Om te verduidelijken wat ik zoek, een voorbeeld:

1500

Dit is het aantal dagen wat moet omgezet worden in:

4jaar, 1maand, xxx dagen.


Alvast bedankt :thumb:


Dieter
 
Mijn gedachten gaan hierbij uit naar de formule:
Code:
=DATUMVERSCHIL(0;1500;"y")&"jaar, "&REST(DATUMVERSCHIL(0;1500;"m");12)&"maand en "&DAG(1500)&" dagen"
 
Ja!
 
Laatst bewerkt door een moderator:
Je moet je realiseren dat deze formule gebruik maakt van de notatievorm van datums door Excel: het getal 1 is 1 jan 1900, dus het getal 1500 komt dan overeen met 8 febr 1904. Als je alles goed nagaat zal ook blijken dat 29 feb 1900 ook is meegenomen: omdat 29 feb 1900 wel een schrikkeldag is, tegen 29 feb 200 niet.
Wil je het nog iets anders doen, zet dan in plaats van de nul een datum en in plaats van de 1500 die zelfde datum + 1500, zoiets als bijv 1-7-2012;1-7-2012+1500 (1-7-2012 dan graag wel in een cel plaatsen en in de formule naar die cel verwijzen).
 
Laatst bewerkt:
Thoralf,

Hartelijk dank. Dat is wat ik zocht.

Wat ik wel gek vind, is dat wanneer je 365 neemt, geeft hij:

0 jaar, 11 maanden en 30 dagen

bij 366:

0 jaar, 11 maanden en 31 dagen

en dan bij 367:

1 jaar, 0 maanden en 1 dag

De definitie van 1 jaar ligt bij Exel dan ergens tussen 366 en 367... ?!?

Nu, het is voor het berekenen van het aantal gewerkte dagen in een carriere ten behoeve van het pensioen, dus op 1 dag meer of minder zal het wel niet steken :D

Bedankt

Groetjes
 
1900 was een schrikkeljaar, dus 366 dagen lang. Echter er zijn dan inclusief de startdag en de einddag weliswaar 366 dagen geteld, maar nog geen jaar gepasseerd: van 1 jan naar 31 december is ook maar 12 maanden en 31 dagen en nog geen 1 jaar. 1 jaar is het pas weer op 1 jan, uitgaande van 1 jan als startdatum.
 
Laatst bewerkt:
1900 was een schrikkeljaar, dus 366,25 dagen lang.

dat we jaren met een kwartdag extra hadden is nieuws voor mij :D

volgens mij had 1900 gewoon 366 dagen en 1901 tm 1903 365 en komt het gemiddelde op 365,25 en word dat getal wel gebruikt als er veel tijd tussen 2 datums zit om het aantal jaar te berekenen

@dieter je hebt je net zitten verdiepen in de enige onlogische input die mogelijk is voor deze datumverschilformule. Jij hebt het getal 0 ingetikt als begindatum en dat is raar want 0 januari 1900 bestaat niet, maar de formule datumverschil rekent er wel mee, als dan ook 366 intikt als einddatum krijg je 31-12-1900 als je datumverschil
met parameter "y" kijkt 1900-1900 = 0
met de parameter "m" 12 - 1 = 11
met de parameter "d" 31 - 0 = 31

Als jij gewoon een echte datum invult als start en eind datum (zoals de bedoeling is bij een formule genaamd datumverschil) dan zul je niet dit soort rare uitkomsten krijgen. Kortom ook bij deze formule geld "garbage in = garbage out" 0 januari bestaat niet.

Vul voor de lengte van het dienstverband de echte datums voor begin en eind in ipv 0 en 1500 zoals hierboven dan krijg je keurig kloppende uitkomsten.

enige waar je nog even rekening mee moet houden (dat geld voor alle excel fomules met datums) is dat mensen een contract tekstueel beschrijven als 1 januari tot en met 31 december terwijl de datumverschil formule 1 januari tot 31 december leest. dat is echt 1 dag minder.

taalkundig kun je kiezen tussen tot en met "31-12-2012" of "tot 1-1-2013", dat contract duurt even lang, maar in het spraakgebruik heeft "tot en met 31-12" de voorkeur
rekenkundig voor excel moet eigenlijk altijd de "tot 1-1" variant worden gebruikt.

de standaardoplossing is dat je 2 invoervelden maakt begindatum (zeg cel B1) en einddatum (zeg B2) daarnaar verwijst in de formule en bij de einddatum 1 dag op te tellen de formule is dan datumverschil(B1;B2+1;"d") om het goede aantal dagen te krijgen aangenomen dat iedereen dus 31-12 als einddatum invult.
 
@Roel,
Je enerzijds gelijk als je zegt dat datum 0 jan 1900 niet bestaat. Aan de andere kant geldt ook dat in onze jaartelling het jaar 0 ook niet bestaat, terwijl we vaak wel er mee omgaan alsof het wel bestaat als we met jaartallen rekenen voor en na het jaar 0.
Als je de vraag van TS goed leest dan zou je, als je geen gebruik maakt van de mogelijkheid de datum op 0 jan 1900 te zetten, bij de begindatum bijv 1 moeten zetten en bij de einddatum dan dag 1501.

Wil je de functie DATUMVERSCHIL omzeilen, dan kun je bijv ook uit de voeten met
Code:
=JAAR(1500)-1900&" jaar, "&MAAND(1500)-1&" maanden en "&DAG(1500)&" dagen"
En als je dan puur theoretisch wilt kijken heb je dan ook hier in feite met die zelfde anomalie met betrekking tot de datum 0 jan 1900 te maken als met de functie datumverschil in de voorgestelde vorm.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan