Excel dispose d’une fonction cachée pour calculer le nombre de jours, mois ou années entre deux dates.
Syntaxe : DATEDIF(date_début;date_fin;unité)
date_début : date représentant la première date, ou date de début, de la période. Les dates doivent être entrées sous forme de chaînes de texte placées entre guillemets (par exemple, « 30/01/2001 »), comme numéros de série (par exemple, 36921, qui représente le 30 janvier 2001, si vous utilisez le calendrier depuis 1900) ou sous forme de résultat d’autres formules ou fonctions (par exemple, DATEVAL(“30/01/2001”)).
date_fin : date représentant la dernière date, ou date de fin, de la période.
Remarque : si date_début est postérieure à date_fin, le résultat sera #NOMBRE!.
unité : type d’informations à renvoyer :
Unité | Renvoie |
“Y” | Nombre d’années complètes au sein de la période. |
“M” | Nombre de mois complets au sein de la période. |
“D” | Nombre de jours compris dans la période. |
“MD” | Différence entre les jours compris entre date_début et date_fin. Les mois et les années des dates sont ignorés.
Important : il est déconseillé d’utiliser l’argument “MD”, car certaines limitations s’appliquent à celui-ci. Cf la section traitant des problèmes connus ci-dessous. |
“YM” | Différence entre les mois compris entre date_début et date_fin. Les jours et les années des dates sont ignorés. |
“YD” |
Différence entre les jours compris entre date_début et date_fin. Les années des dates sont ignorées. |
Remarques : Les dates sont stockées sous forme de numéros de série séquentiels pour pouvoir être utilisées dans les calculs. Par défaut, le 31 décembre 1899 a le numéro de série 1 et le 1er janvier 2008 a le numéro de série 39448, étant donné que cette date arrive 39 448 jours après le 1er janvier 1900. La fonction DATEDIF est utile dans les formules où vous devez calculer un âge.
Exemples :
date_début | date_fin | Formule | Description (résultat) |
01/01/2001 | 01/01/2003 | =DATEDIF(date_début,date_fin,”A”) | Deux années complètes au sein de la période (2) |
01/06/2001 | 15/08/2002 | =DATEDIF(date_début,date_fin,”J”) | 440 jours entre le 1er juin 2001 et le 15 août 2002 (440) |
01/06/2001 | 15/08/2002 | =DATEDIF(date_début,date_fin,”AJ”) | 75 jours entre le 1er juin et le 15 août, en ignorant les années des dates (75) |
Problèmes connus :
L’argument “MD” peut générer un résultat négatif, un zéro ou un résultat imprécis. Dans ce cas, consulter la documentation officielle.
__
Documentation officielle sur la fonction DATEDIF : Microsoft
Approfondir le sujet : Découvrir la série d’articles Maîtriser Excel
Derniers articles parBenoît RIVIERE (voir tous)
- Nouveautés de l’interpréteur de formules de calcul (v1.1) - dimanche 3 novembre 2024
- Dématérialisation de la facturation : nouvelles mentions obligatoires - lundi 28 octobre 2024
- Interpréteur de formules de calcul en Python - dimanche 13 octobre 2024
- Les données de la facturation électronique - mercredi 9 octobre 2024
- VBA/SQL vs Power Query : deux solutions complémentaires - mercredi 2 octobre 2024