Comment calculer l'âge en années?

2

Dans Excel 2010, j'utilise la formule =(TODAY() - 05/31/1996) / 365.25pour calculer l'âge en années entre la date du 30 mai 2013 et celle du 31 mai 1996. Je m'attends à un nombre proche de 17,00 , mais j'obtiens 113,41 . Comment utiliser une seule formule pour calculer la différence d'années entre deux dates? J'ai formaté ma cellule sous forme de nombre avec une précision de 2 décimales.

J'utilise une formule basée sur cette question similaire .

zundarz
la source
4
Excel ne peut pas dire du contexte (une expression arithmétique) que vous parlez d'une date, il interprète / évalue donc «31/05/1996» comme (5/31) / 1996 = 5 / (31 × 1996) , qui est une très petite valeur (8 E-05) –– donc votre expression s’effondre approximativement TODAY()/365.25. Ceci évalue à (date actuelle) - (date d'époque), en années; c'est-à-dire 2013-1900, plus 0,41, car nous sommes presque à mi-chemin en 2013. Voir la réponse de Chuff pour savoir comment résoudre ce problème.
Scott

Réponses:

3

Vous devez forcer la date telle qu’elle est écrite en une date réelle. Il y a plusieurs approches. L'utilisation d'une fonction DateValue () a été décrite. Une autre façon est la suivante:

=(TODAY()-("31/5/1996"+0))/365.25

Cette formule fonctionne pour les paramètres régionaux avec des dates représentées par DMY. Si vos paramètres régionaux utilisent MDY, essayez

=(TODAY()-("5/31/1996"+0))/365.25

Le texte de la date sera forcé dans un nombre en ajoutant un zéro, et sera ensuite traité.

Bien sûr, vous pourriez vous épargner beaucoup de problèmes en entrant la date dans une cellule différente et en renvoyant simplement la formule à cette cellule.

Avec A1 ayant la valeur de 31 mai 1996 (quel que soit le format utilisé par vos paramètres régionaux), vous pouvez alors utiliser

=(TODAY()-A1)/365.25
Teylyn
la source
Aha! Le truc c'est les citations. Le +0est inutile; =(TODAY()-"5/31/1996") / 365.25fonctionne très bien. (Oh, BTW: Chuff a déjà donné la =(TODAY()-A1)/365.25réponse.)
Scott
vous devriez utiliser DATEVALUEau lieu de forcer avec +0
phuclv
@ LưuVĩnhPhúc Comme je l'ai mentionné dans ma réponse, cette option a déjà été couverte. Donc, cette réponse est SANS Datevalue.
Teylyn
6

"Comment utiliser une seule formule pour calculer la différence d'années entre deux dates?"

En raison de la formulation exacte de votre question, je pense que la formule DATEDIF vous conviendra mieux. Essayez d'utiliser la formule ci-dessous. C'est simple! J'espère que cela t'aides. :)

=DATEDIF("05/31/1996",TODAY(),"Y") Ou =DATEDIF(A1,TODAY(),"Y")

"Y" fait que la formule compte la différence en années.

irockyoursocks
la source
Fonction pratique! Pas dans la liste standard, probablement parce que c'est là pour la compatibilité Lotus 1-2-3. Je me demande quoi d'autre est caché sous le capot comme ça?
Tom Zych
cela devrait être la réponse acceptée
phuclv
5

Cela fonctionnera: =(TODAY()-DATEVALUE("5/31/1996"))/365.25

Comme cela: =(TODAY()-A1)/365.25A1 contient une valeur de date Excel.

chuff
la source
0

Les réponses données par Chuff et Teylyn fonctionnent très bien pour les calculs scientifiques; par exemple, la taille et le poids normaux d'une personne d'un âge donné ou la durée de vieillissement d'une bouteille de vin. Cela peut être suffisant pour vous. Mais ils ne sont pas parfaits à des fins légales; par exemple, le 31/05/2013, leur formule a été calculée comme suit: 16.99931554. Certes, cela s’affichera comme 17.00s’il affichait deux chiffres décimaux, mais il serait inférieur à 17. N’est pas bon si vous essayez de calculer l’âge de quelqu'un au sens normal, sociétal / juridique, que nous utiliserions pour déterminer, par exemple , qu'il soit assez vieux pour acheter cette bouteille de vin.

Par souci de brièveté, j’utiliserai la suggestion alternative selon laquelle l’ancienne date est en A1et la date du jour est en T1. Je vous suggère d'utiliser cette formule:

=(YEAR(T1)-YEAR(A1)) + (DATE(YEAR(A1),MONTH(T1),DAY(T1))-A1)/365.25

Cela calcule la différence entre les deux années, puis la différence d'une année fractionnaire entre la date de début et la date actuelle reflétée dans l'année ancienne . Par exemple, j'écris ceci le 12 juin 2013. La première partie de la formule ci-dessus YEAR(T1)-YEAR(A1) (les parenthèses qui entourent n'est pas nécessaire) est 2013-1996ce qui, bien sûr, est exactement 17. Le second terme,

                       (DATE(YEAR(A1),MONTH(T1),DAY(T1))-A1)/365.25

devient (DATE(1996,6,12)-A1)/365.25ou ("6/12/1996"-"5/31/1996")/365.25ou 12/365.25, ce qui est 0.03012, donc la somme est 17.03012. Mais si T1est 5/31/2013, la formule évalue à 17.00000.

Oh, ma formule a un léger problème. Si l'ancienne date est dans une année non bissextile (par exemple, 5/31/1995) et que l'année en cours est une année bissextile (par exemple, 2012), alors T1= 2/29/2012et T1= 3/1/2012donnera le même résultat, car, même si Excel génère une erreur car 2/29/1995il traite DATE(1995,2,29)comme 3/1/1995.

Scott
la source