Dans Excel 2010, j'utilise la formule =(TODAY() - 05/31/1996) / 365.25
pour 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 .
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.Réponses:
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:
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
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
la source
+0
est inutile;=(TODAY()-"5/31/1996") / 365.25
fonctionne très bien. (Oh, BTW: Chuff a déjà donné la=(TODAY()-A1)/365.25
réponse.)DATEVALUE
au lieu de forcer avec +0Datevalue
.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.
la source
Cela fonctionnera:
=(TODAY()-DATEVALUE("5/31/1996"))/365.25
Comme cela:
=(TODAY()-A1)/365.25
A1 contient une valeur de date Excel.la source
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.00
s’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
A1
et la date du jour est enT1
. Je vous suggère d'utiliser cette formule: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) est2013-1996
ce qui, bien sûr, est exactement17
. Le second terme,devient
(DATE(1996,6,12)-A1)/365.25
ou("6/12/1996"-"5/31/1996")/365.25
ou12/365.25
, ce qui est0.03012
, donc la somme est17.03012
. Mais siT1
est5/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/2012
etT1
=3/1/2012
donnera le même résultat, car, même si Excel génère une erreur car2/29/1995
il traiteDATE(1995,2,29)
comme3/1/1995
.la source