DATEDIF – fonction cachée d’Excel 3


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 DATEDIF – bien 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 disponibles. 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.

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 2016
Excel 2013
Excel 2010
Excel 2007

Excel 2016 for Mac
Excel 2011 for Mac

Excel Online
Excel Mobile

Excel 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…

La syntaxe de la fonction DATEDIF

=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.
  • dete_fin: La date de la fin de la période de calcul. Attention: Cette date est exclue du calcul!
  • unité_de_temps: L'unité de temps dans laquelle le résultat est 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

Certaines conditions doivent être remplies:

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(2010;1;1);DATE(2015;4;31);"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

Date 1Date 2FormuleRésultatRemarque
03/11/201404/05/2015=DATEDIF(DATE(2014;11;3);DATE(2015;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/201112/08/2015=DATEDIF(DATE(2011;6;11);DATE(2015;8;12);"M")50Nombre des mois complets
01/01/201015/05/2015=DATEDIF(DATE(2010;1;1);DATE(2015;5;15);"D")1960Nombre de jours entre les deux dates
01/01/201015/05/2015=DATEDIF(DATE(2010;1;1);DATE(2015;5;15);"MD")14Nombre de jours entre deux dates, abstraction faite des mois et des années
01/01/201015/05/2015=DATEDIF(DATE(2010;1;1);DATE(2015;5;15);"YD")134Nombre des jours entre deux dates, abstraction faite des années
01/01/201015/05/2015=DATEDIF(DATE(2010;1;1);DATE(2015;5;15);"YM")4Nombre de mois entre deux dates, abstraction faite des années
01/01/201501/01/2014=DATEDIF(DATE(2015;1;1);DATE(2014;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

Mise en doute erronée de la fonction DATEDIF

Mise en doute erronnée de la fonction DATEDIF

 

Cette idée eronné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

 

29 0

Pourrait vous intéresser

Partagez cette page...
Share on FacebookShare on Google+Share on LinkedInTweet about this on TwitterShare on RedditShare on TumblrDigg thisEmail this to someone

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée.

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

  • Olivier

    Bonjour;

    Sauf erreur de ma part, vous indiquez que la fonction est cachée, mais sans nous dire où la trouver…

    Pouvez-vous nous indiquer la marche à suivre pour trouver cette formule a priori fort utile ?

    Merci d'avance

    • excel-malin.com Auteur du billet

      Bonjour Olivier.
      En fait c'est cela le souci avec cette fonction très utile – vous ne la trouverez pas!
      Vous pouvez l'utiliser mais vous ne la verrez ni dans la liste des fonctions (dans le Ruban), ni dans l'Aide…
      Vous devez savoir qu'elle existe et quel est la manière de l'utiliser (ses arguments & leur ordre). Et c'est le but de ce tutoriel: faire savoir qu'elle existe et décrire comment elle fonctionne…

      Bien à vous, Martin