Excel-formule: leeftijd ophalen vanaf verjaardag -

Inhoudsopgave

Generieke formule

=DATEDIF(birthdate,TODAY(),"y")

Samenvatting

Om de leeftijd vanaf een geboortedatum te berekenen, kunt u de DATEDIF-functie samen met de TODAY-functie gebruiken. In het weergegeven voorbeeld is de formule in cel E5, naar beneden gekopieerd,:

=DATEDIF(D5,TODAY(),"y")

Omdat TODAY altijd de huidige datum retourneert, blijft de formule in de toekomst de juiste leeftijd berekenen.

Uitleg

De DATEDIF-functie (Date + Dif) is een beetje een anomalie in Excel. Een compatibiliteitsfunctie die oorspronkelijk afkomstig is van Lotus 1-2-3, Excel helpt niet om argumenten te leveren wanneer de functie wordt ingevoerd. DATEDIF werkt echter in alle moderne versies van Excel en is een handige functie voor het berekenen van het interval tussen twee datums in jaren, maanden en dagen.

In het getoonde voorbeeld is het doel om de leeftijd in jaren te berekenen. De formule in E5 is:

=DATEDIF(D5,TODAY(),"y")

De eerste twee argumenten voor DATEDIF zijn startdatum en einddatum. De startdatum komt uit cel D5 (15 mei 2001) in het voorbeeld. De einddatum wordt gegenereerd met de TODAY-functie. VANDAAG retourneert altijd de huidige datum in Excel. Op het moment van schrijven is de huidige datum 24 november 2020. Het laatste argument in DATEDIF specificeert de tijdseenheid. De DATEDIF-functie ondersteunt hier verschillende opties, maar voor dit voorbeeld is het doel leeftijd in hele jaren, dus gebruiken we "y" om volledige jaren aan te geven.

Op dit punt kunnen we de formule herschrijven zoals hieronder:

=DATEDIF("15-May-2001","24-Nov-2020", "y")

Omdat Excel-datums eigenlijk seriële getallen zijn, zijn de onbewerkte waarden:

=DATEDIF(37026,44159,"y")

Met deze invoer retourneert DATEDIF 19 als een eindresultaat.

Leeftijd op specifieke datum

Om de leeftijd op een specifieke datum te berekenen, vervangt u de functie TODAY door de streefdatum. Een gemakkelijke en veilige manier om een ​​specifieke datum in een formule hard te coderen, is door de functie DATUM te gebruiken. Als u bijvoorbeeld de leeftijd wilt berekenen vanaf 1 januari 2021, kunt u een formule als deze gebruiken:

=DATEDIF(D5,DATE(2022,1,1),"y") // returns 20

Deze formule geeft de leeftijd van Michael Chang terug op 1 januari 2022, dat is 20.

Volwassene of minderjarige

Om een ​​geboortedatum te controleren en "Minor" of "Adult" terug te geven, kunt u de formule als volgt in de ALS-functie plaatsen:

=IF(DATEDIF(D5,TODAY(),"y")<18,"Minor","Adult")

De bovenstaande formule is een voorbeeld van nesten. Vervang 18 door de geschikte leeftijd.

Leeftijd in jaren, maanden en dagen

Gebruik drie gevallen van DATEDIF als volgt om de leeftijd in jaren, maanden en dagen te berekenen:

=DATEDIF(A1,TODAY(),"y")&"y "&DATEDIF(A1,TODAY(),"ym")&"m "&DATEDIF(A1,TODAY(),"md")&"d"

Het eerste exemplaar van DATEDIF retourneert jaren, het tweede exemplaar retourneert maanden en het derde exemplaar retourneert dagen. Dit is een voorbeeld van aaneenschakeling, en het resultaat is een tekstreeks zoals deze:

19y 6m 9d

Let op: start- en einddatums blijven hetzelfde in alle drie DATEDIF's; alleen de eenheid wordt gewijzigd.

JAARDEEL met INT

Een andere optie voor het berekenen van de leeftijd vanaf de geboortedatum gebruikt de functie JAAR.DEEL samen met de functie INT in een formule als deze:

=INT(YEARFRAC(D5,TODAY()))

YEARFRAC berekent een decimaal getal dat de fractie van een jaar tussen twee datums vertegenwoordigt. Om de fractie van een jaar als decimale waarde te berekenen, gebruikt Excel dagen tussen twee datums. Net als hierboven wordt de geboortedatum geleverd als de startdatum uit cel D5 en wordt de datum van vandaag geleverd als de einddatum, met dank aan de functie TODAY.

Met een huidige datum van 24 november 2020 is het resultaat van YEARFRAC voor Michael Chang:

19.5290896646133

Vervolgens neemt de INT-functie het over en rondt dat getal af naar de gehele waarde, het getal 19.

=INT(19.5290896646133) // returns 19

Deze formule lijkt volkomen logisch en werkt in de meeste gevallen prima. YEARFRAC kan echter een getal retourneren dat niet correct is op verjaardagen (verjaardagen). Ik weet niet precies waarom dit gebeurt, maar het is gerelateerd aan hoe YEARFRAC dagen gebruikt om fractionele jaren te bepalen, wat wordt bepaald door het basisargument. Bijvoorbeeld:

=YEARFRAC(DATE(1960,6,30),DATE(1962,6,30),1) // 1.998, should be 2 =YEARFRAC(DATE(1960,3,3),DATE(1964,3,3),1) // 3.998, should be 4

Het komt erop neer dat de DATEDIF-formule voor datum een ​​veiligere en gemakkelijkere optie is wanneer het doel is om de leeftijd in hele jaren te rapporteren.

Interessante artikelen...