Exceller

Obtenir l'âge à partir de l'anniversaire

Get Age From Birthday

Formule Excel : Obtenez l'âge à partir de l'anniversaireFormule générique |_+_| Sommaire

Pour calculer l'âge à partir d'une date de naissance, vous pouvez utiliser le Fonction DATEDIF avec le Fonction AUJOURD'HUI . Dans l'exemple illustré, la formule de la cellule E5, copiée vers le bas, est :



Erreur: 509
= DATEDIF (birthdate, TODAY (),'y')

Étant donné que AUJOURD'HUI renvoie toujours la date actuelle, la formule continuera à calculer l'âge correct à l'avenir.

Explication

Les Fonction DATEDIF (Date + Dif) est un peu une anomalie dans Excel. Fonction de compatibilité qui vient à l'origine de Lotus 1-2-3, Excel n'aidera pas à fournir des arguments lorsque la fonction est entrée. Cependant, DATEDIF fonctionne dans toutes les versions modernes d'Excel et est une fonction utile pour calculer l'intervalle entre deux dates en années, mois et jours.





Dans l'exemple présenté, l'objectif est de calculer l'âge en années. La formule en E5 est :

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

Les deux premiers arguments pour DATEDIF sont start_date et end_date. La date de début provient de la cellule D5 (15 mai 2001) dans l'exemple. La date de fin est générée avec la fonction AUJOURD'HUI. AUJOURD'HUI renvoie toujours la date actuelle dans Excel. Au moment d'écrire ces lignes, la date actuelle est le 24 novembre 2020. Le dernier argument de DATEDIF spécifie l'unité de temps. La fonction DATEDIF prend en charge plusieurs options ici , mais pour cet exemple, l'objectif est l'âge en années entières, nous utilisons donc 'y' pour spécifier des années complètes.



À ce stade, nous pouvons réécrire la formule comme ci-dessous :

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

Parce que Les dates Excel sont en fait des numéros de série , les valeurs brutes sont :

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

Avec ces entrées, DATEDIF renvoie 19 comme résultat final.

Âge à une date précise

Pour calculer l'âge à une date spécifique, remplacez la fonction AUJOURD'HUI par la date cible. Un moyen simple et sûr de coder en dur une date spécifique dans une formule consiste à utiliser le Fonction DATE . Par exemple, pour calculer l'âge au 1er janvier 2021, vous pouvez utiliser une formule comme celle-ci :

 
= DATEDIF (37026,44159,'y')

Cette formule renverra l'âge de Michael Chang au 1er janvier 2022, soit 20 ans.

Adulte ou mineur

Pour vérifier une date de naissance et renvoyer « Mineur » ou « Adulte », vous pouvez envelopper la formule dans le fonction SI ainsi:

combien de mardis entre deux dates
 
= DATEDIF (D5, DATE (2022,1,1),'y') // returns 20

La formule ci-dessus est un exemple de imbrication . Remplacez 18 par l'âge approprié.

Âge en années, mois et jours

Pour calculer l'âge en années, mois et jours, utilisez trois instances de DATEDIF comme ceci :

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

La première instance de DATEDIF renvoie des années, la deuxième instance renvoie des mois et la troisième instance renvoie des jours. Ceci est un exemple de enchaînement , et le résultat est un chaîne de texte comme ça:

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

Notez que les dates de début et de fin restent les mêmes dans les trois DATEDIF, seule l'unité est modifiée.

ANNÉEFRAC avec INT

Une autre option pour calculer l'âge à partir de la date de naissance utilise le Fonction ANNÉEFRAC avec la fonction INT dans une formule comme celle-ci :

 
19y 6m 9d

YEARFRAC calcule un nombre décimal représentant la fraction d'année entre deux dates. Pour calculer la fraction d'année sous forme de valeur décimale, Excel utilise des jours entre deux dates. Comme ci-dessus, la date de naissance est fournie en tant que start_date à partir de la cellule D5, et la date d'aujourd'hui est fournie en tant que end_date, grâce à la fonction AUJOURD'HUI.

Avec une date actuelle du 24 novembre 2020, le résultat de YEARFRAC pour Michael Chang est :

comment faire une formule dans Excel pour soustraire
 
= INT ( YEARFRAC (D5, TODAY ()))

Ensuite, le fonction INT prend le relais et arrondit ce nombre à la valeur entière, qui est le nombre 19.

 
19.5290896646133

Cette formule semble parfaitement logique et fonctionne très bien dans la plupart des cas. Cependant, YEARFRAC peut retourner un nombre qui n'est pas correct aux dates d'anniversaire (anniversaires). Je ne sais pas exactement pourquoi cela se produit, mais cela est lié à la façon dont YEARFRAC utilise les jours pour déterminer les années fractionnaires, ce qui est contrôlé par le argument de base . Par exemple:

 
= INT (19.5290896646133) // returns 19

L'essentiel est que la formule de date DATEDIF est une option plus sûre et plus facile lorsque l'objectif est de déclarer l'âge en années entières.

Pièces jointes Déposer obtenir l'âge à partir de la date de naissance.xlsx Auteur Dave Bruns


^