La fonction DATEDIF dans Excel
DATEDIF renvoie le nombre d'années, de mois ou de jours complets entre une date de début et une date de fin, selon l'unité que vous choisissez.
Elle fonctionne dans toutes les versions d'Excel, mais Excel ne la suggère pas pendant la saisie : vous devez donc écrire vous-même le nom complet. La date de début ne doit pas être postérieure à la date de fin.
Syntaxe
=DATEDIF(start_date, end_date, unit)
| Argument | Ce que cela signifie |
|---|---|
| start_date | La date la plus ancienne. |
| end_date | La date la plus récente. |
| unit | « y » années complètes, « m » mois complets, « d » jours, « ym » mois restants après les années complètes, « md » jours restants après les mois complets (peu fiable), « yd » jours restants après les années complètes. |
Exemples
1. Âge en années complètes
| A | B | |
|---|---|---|
| 1 | Âge | |
| 2 | Naissance | 1990-05-20 |
| 3 | Au | 2026-03-01 |
| 4 | Années | 35 |
L'anniversaire de 2026 (20 mai) n'est pas encore arrivé le 1er mars, donc seules 35 années sont complètes.
2. Mois complets
| A | B | |
|---|---|---|
| 1 | Contrat | |
| 2 | Début | 2026-01-15 |
| 3 | Fin | 2026-03-20 |
| 4 | Mois | 2 |
Du 15 janvier au 15 mars, il y a 2 mois complets. Les 5 jours en plus ne font pas un troisième mois.
3. Années et mois, en deux parties
| A | B | |
|---|---|---|
| 1 | Âge | |
| 2 | Naissance | 1990-05-20 |
| 3 | Au | 2026-03-01 |
| 4 | Mois en plus | 9 |
Après 35 années complètes (jusqu'au 20 mai 2025), 9 mois complets de plus se sont écoulés. Au total : 35 ans et 9 mois.
Erreurs courantes
Date de début postérieure à la date de fin. Le résultat est l'erreur #NUM!.
Correction : Inversez les dates, ou utilisez
=DATEDIF(MIN(B2;B3);MAX(B2;B3);"d").Soustraire les dates et diviser par 365 pour obtenir l'âge. Les années bissextiles faussent un peu le résultat, et il comporte des décimales.
Correction : Utilisez DATEDIF avec « y » pour obtenir les années complètes.
Utiliser l'unité « md ». Microsoft avertit qu'elle peut renvoyer des résultats erronés.
Correction : Calculez plutôt les jours restants avec FIN.MOIS (Anglais: EOMONTH) ou MOIS.DECALER (Anglais: EDATE).
Questions fréquemment posées
Pourquoi Excel n'affiche-t-il pas DATEDIF dans la liste des fonctions ?
Elle vient de Lotus 1-2-3 et a été conservée pour la compatibilité. Elle est documentée et fonctionne, mais elle n'apparaît pas dans les suggestions.
Comment compter les jours entre deux dates ?
Soustrayez-les, ou utilisez JOURS (Anglais: DAYS)(end, start). Pour ne compter que les jours ouvrés, utilisez NB.JOURS.OUVRES (Anglais: NETWORKDAYS).
Fonctions associées
- EOMONTHEOMONTH renvoie le dernier jour d'un mois ; EDATE le même jour, un certain nombre de mois plus tard ou plus tôt.
- NETWORKDAYSNETWORKDAYS compte les jours ouvrés entre deux dates, du lundi au vendredi, en excluant éventuellement les jours fériés.
- WEEKDAYWEEKDAY renvoie le jour de la semaine sous forme de nombre, et WORKDAY ajoute des jours ouvrés à une date en sautant les week-ends.