DATEDIF – fonction cachée d’Excel

Le travail avec les dates en Excel n'est pas très commode. Le fait que la date est en fait, pour Excel, "le nombre des jours après le 1 janvier 1900" ne facilite pas des calculs intuitifs. Pourtant, nous avons plusieurs outils (fonctions) à notre disposition pour nous faciliter la tâche. Et une des plus utiles s'avère être la fonction DATEDIFbien qu'elle soit cachée et non documenté!

Fonction Excel DATEDIF()

La fonction DATEDIF permet de calculer la différence entre deux dates. Cette différence peut être exprimée en jours, en mois ou en années (voir la structure de la fonction plus bas). Vous ne trouverez pas cette fonction dans la liste des fonctions qu'Excel vous propose d'utiliser dans une Feuille. Ni même dans l'Aide d'Excel. En fait, cette fonction existe dans Excel pour assurer une compatibilité rétroactive avec la suite Lotus 1-2-3 (dont plus personne ne se souvient…).

Bien que la fonction DATEDIF n'apparaît pas sur la liste des fonctions, elle est disponible dans les  versions suivantes de Microsoft Excel:

Excel 365
Excel 2019
Excel 2016
Excel 2013
Excel 2010
Excel 2007
Excel 2016 for Mac
Excel 2011 for Mac
Excel Online
Excel MobileExcel for iPad
Excel for iPhone
Excel for Android tablets
Excel for Android phones

Vu cette liste, il y a peu de chance que vous ne puissiez pas utiliser cette fonction…

DATEDIF en vidéo – tout comprendre en 6 minutes

 

 

La syntaxe de la fonction DATEDIF en Excel

=DATEDIF(date_début;date_fin;unité_de_temps)
Les trois paramètres sont les suivants:

  • date_début: La date du début de la période de calcul.
  • date_fin: La date de la fin de la période de calcul. Attention: Cette date est exclue du calcul! (voir remarque plus bas)
  • unité_de_temps: L'unité de temps dans laquelle le résultat sera exprimé. Voici les valeurs possibles…
    1. "D" – nombre de jours complets dans la période
    2. "M" – nombre des mois complets dans la période
    3. "Y" – nombre des années complètes dans la période
    4. "MD" – nombre de jours complets dans la période, les années et les mois sont ignorés
    5. "YM" – nombre de mois complets dans la période, les années et les jours sont ignorés
    6. "YD" – nombre des jours complets dans la période, les années dans les dates sont ignorées

    Comme vous pouvez le constater, il s'agit des abréviations anglophones ("D" – Day, "M" – Month, "Y" – Year). Cela vient du fait que DATEDIF n'a pas été adapté aux différentes version linguistiques d'Excel…

Certaines conditions doivent être remplies pour que la fonction DATEDIF fonctionne correctement:

  • La date de début doit être antérieure à la date de fin – en cas de contraire, la fonction ne renvoie pas une valeur négative mais une erreur (#NOMBRE!).
  • Les deux dates doivent être dans le format approprié – c'est à dire "date" ou "nombre" (pour les geeks). Si vous utilisez comme paramètres des cellules formatées comme date, vous n'avez rien à craindre. Si vous voulez comparer des dates "à la main", il est préférable d'utiliser d'abord la fonction DATE. Ce qui donne une formule de ce type: =DATEDIF(DATE(2021;1;1);DATE(2022;4;30);"Y")
  • Cette fonction fonctionne pour les dates se situant après 1/1/1900.

Exemples d'utilisation de la fonction DATEDIF

Voici quelques exemples pour illustrer l'utilisation de la fonction DATEDIF en pratique…

Date 1Date 2FormuleRésultatRemarque
03/11/202004/05/2021=DATEDIF(DATE(2020;11;3);DATE(2021;5;4);"D")182Nombre de jours complets entre les deux datex (le dernier jour de la période, c/à/d la derrnière date est exclue)
01/06/201812/08/2021=DATEDIF(DATE(2018;6;11);DATE(2021;8;12);"M")38Nombre des mois complets
01/01/201615/05/2021=DATEDIF(DATE(2016;1;1);DATE(2021;5;15);"D")1961Nombre de jours entre les deux dates
01/01/201915/05/2021=DATEDIF(DATE(2019;1;1);DATE(2021;5;15);"MD")14Nombre de jours entre deux dates, abstraction faite des mois et des années
01/01/201515/05/2020=DATEDIF(DATE(2015;1;1);DATE(2020;5;15);"YD")134Nombre des jours entre deux dates, abstraction faite des années
01/01/201715/05/2021=DATEDIF(DATE(2017;1;1);DATE(2021;5;15);"YM")4Nombre de mois entre deux dates, abstraction faite des années
01/01/202201/01/2021=DATEDIF(DATE(2022;1;1);DATE(2021;1;1);"Y")#NOMBRE!Erreur car la date de début est postérieure à la date de fin

 

Remarque importante

Ne croyez pas des sites qui vous disent (exemple à l'appui) que cette fonction n'est pas précise (comme par exemple CommentCaMarche.net ci-dessous)

Mise en doute erronée de la fonction DATEDIF

Mise en doute erronée de la fonction DATEDIF

 
Cette idée erronée vient d'une mauvaise compréhension du calcul: en fait, le jour correspondant à la date de fin n'est pas pris en compte dans le résultat final. Autrement dit, seules les périodes (jours, mois ou années) TERMINÉES sont inclues dans le résultat.

Dans l'exemple cité par CommentCaMarche.net, le 31/12/2013 n'est pas encore "terminé" et n'est donc pas inclus dans le calcul. Ainsi, le mois de décembre n'est pas complet et la différence de 3 mois renvoyée par la formule DATEDIF est correcte!
 


 

Pour aller plus loin en Excel…

 

Laissez un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

25 commentaires sur “DATEDIF – fonction cachée d’Excel”