Différence entre deux dates: Fonction Datedif
![](http://img.brin-designs.com/img/games/129/difference-between-two-dates.png)
Introduction à la fonction DATEDIF
La fonction DATEDIF calcule la différence entre deux dates dans une variété d'intervalles différents, tels que le nombre d'années, de mois ou de jours entre les dates. Cette fonction est disponible dans toutes les versions d'Excel depuis au moins la version 5/95, mais est documentée dans le fichier d'aide uniquement pour Excel 2000. Pour une raison quelconque, Microsoft a décidé de ne pas documenter cette fonction dans aucune autre version. DATEDIF est traité comme le cousin ivre de la famille des formules. Excel sait qu'il mène une vie heureuse et utile, mais n'en parle pas dans une conversation polie. Ne confondez pas la fonction de feuille de calcul DATEDIF avec la fonction DateDiff VBA.
La syntaxe de DATEDIF est la suivante:
= DATEDIF (Date1, Date2, Intervalle)
Où:
Date1 est la première date,
Date2 est la deuxième date,
Interval est le type d'intervalle à renvoyer.
Si Date1 est ultérieure à Date2, DATEDIF renverra un #NUM! Erreur. Si Date1 ou Date2 n'est pas une date valide, DATEDIF renverra une erreur #VALUE.
La valeur d'intervalle doit être l'une des valeurs suivantes:
Intervalle Signification Description
m Mois Terminez les mois civils entre les dates.
d Jours Nombre de jours entre les dates.
y Années Années civiles complètes entre les dates.
ym Mois Excluant Années Compléter les mois civils entre les dates comme si elles étaient de la même année.
yd Jours Excluant Années Compléter les jours de calendrier entre les dates comme si elles étaient de la même année.
md jours excluant les années et les mois Terminez les jours de calendrier entre les dates comme si elles étaient du même mois et de la même année.
Si Interval n'est pas l'un des éléments énumérés ci-dessus, DATEDIF renverra une erreur #NUM.
Si vous incluez la chaîne d'intervalle directement dans la formule, vous devez la mettre entre guillemets:
= DATEDIF (Date1, Date2, "m")
Si vous avez l'intervalle dans une autre cellule référencée par la formule, cette cellule ne doit pas avoir de guillemets autour de la chaîne d'intervalle. Par exemple, avec la formule
= DATEDIF (Date1, Date2, A1)
la cellule A1 doit contenir m et non "m".
Supprimer des composants de valeur zéro
En règle générale, pour calculer le nombre d'années, de mois et de jours entre deux dates, utilisez une formule telle que celle ci-dessous, où A1 correspond à la date de début et B1 à la date de fin:
= DATEDIF (A1, B1, "y") & "années" & DATEDIF (A1, B1, "ym") & "mois" & DATEDIF (A1, B1, "md")
&" journées"
Cela retournera une chaîne telle que
12 ans 8 mois 14 jours
Cependant, si le nombre d'années et / ou de mois est 0, vous obtiendrez une chaîne comme
0 ans 0 mois 14 jours
0 années 3 mois 14 jours
Si vous souhaitez supprimer les valeurs 0 et renvoyer un résultat tel que
8 mois 14 jours
ou
14 jours
Si les composants de valeur 0 ne sont pas affichés, utilisez une formule comme celle-ci:
= SI (DATEDIF (A1, B1, "y") = 0, "", DATEDIF (A1, B1, "y") & "années") & IF (DATEDIF (A1, B1, "ym") = 0, " ",
DATEDIF (A1, B1, "ym") & "mois") & DATEDIF (A1, B1, "md") & "jours"
Cela affichera uniquement les composants de date dont la valeur est supérieure à 0. La valeur du jour sera toujours affichée, mais la valeur de l'année et / ou du mois peut être supprimée.
Exemples
Voici quelques exemples de la fonction DATEDIF.
Date1: 1er janvier 2007
Date2: 10 janvier 2007
Intervalle: d
Résultat: 9
Explication:
Il y a 9, et non 10, jours civils entre ces deux dates.
Date1: 1er janvier 2007
Date2: 31 janvier 2007
Intervalle: m
Résultat: 0
Explication:
Il y a 0 mois calendaires complets entre les deux dates.
Date1: 1er janvier 2007
Date2: 1er février 2007
Intervalle: m
Résultat: 1
Explication:
Il y a 1 mois complet entre les deux dates.
Date1: 1er janvier 2007
Date2: 28 février 2007
Intervalle: m
Résultat: 1
Explication:
Il y a 1 mois complet entre les deux dates.
Date1: 1er janvier 2007
Date2: 31 décembre 2007
Intervalle: d
Résultat: 364
Explication:
Il y a 364 jours entre les deux dates.
Date1: 1er janvier 2007
Date2: 31 janvier 2007
Intervalle: y
Résultat: 0
Explication:
Il y a 0 années complètes entre les dates
Date1: 1er janvier 2007
Date2: 1er juillet 2008
Intervalle: d
Résultat: 547
Explication:
Il y a 547 jours entre les deux dates.
Date1: 1er janvier 2007
Date2: 1er juillet 2008
Intervalle: m
Résultat: 18
Explication:
Il y a 18 mois entre les deux dates.
Date1: 1er janvier 2007
Date2: 1er juillet 2008
Intervalle: ym
Résultat: 6
Explication:
Il y a 6 mois entre les deux dates si les dates sont considérées comme ayant la même année. L'année prise à partir de Date1, pas Date2. Cela fait une différence lorsqu'une année est une année bissextile. Puisque 2007 n'est pas une année bissextile, le 29 février n'est pas compté. Voir DATEDIF et années bissextiles ci-dessous.
Date1: 1er janvier 2007
Date2: 1er juillet 2008
Intervalle: yd
Résultat: 181
Explication:
Il y a 181 jours entre les dates si les dates sont considérées comme ayant la même année. L'année prise à partir de Date1, pas Date2. Cela fait une différence lorsqu'une année est une année bissextile. Puisque 2007 n'est pas une année bissextile, le 29 février n'est pas compté. Voir DATEDIF et années bissextiles ci-dessous.
Date1: 1er janvier 2008
Date2: 1er juillet 2009
Intervalle: yd
Résultat: 182
Explication:
Il y a 182 jours entre les dates si les dates sont considérées comme ayant la même année. Ce résultat est 182 et non 181 puisque Date1 est une année bissextile et donc le 29 février est compté.
Date1: 1er janvier 2007
Date2: 31 janvier 2007
Intervalle: md
Résultat: 30
Explication:
Il y a 30 jours entre le 1er et le 31 des dates où le mois et les années sont considérés comme identiques.
DATEDIF et années bissextiles
Lors du calcul des intervalles de dates, DATEDIF utilise l'année de Date1 et non de Date2 pour calculer les intervalles yd, ym et md. Par exemple,
= DATEDIF (Date1, Date2, "md")
renvoie 28 pour Date1 = 1er février 2007 et Date2 = 1er mars 2009. Puisque Date1 n'est pas une année bissextile, la date du 29 février n'est pas comptée. Mais la même formule avec Date1 = 1-Feb-2008 renvoie 29, étant donné que Date1 est une année bissextile et que la date 29-Feb est donc comptée.
Âge de calcul
Vous pouvez utiliser DATEDIF pour calculer l'âge d'une personne. Par exemple, la formule ci-dessous calculera l'âge d'une personne à la date du jour, où Date de naissance est la date de naissance de la personne.
= DATEDIF (Date de naissance, AUJOURD'HUI (), "y") & "years" & DATEDIF (Date de naissance, AUJOURD'HUI (), "ym") & "mois" & DATEDIF (Date de naissance, AUJOURD'HUI), "md") & "days"