Souci avec la fonction DATEDIF
Résolu
Lili03100
Messages postés
150
Date d'inscription
Statut
Membre
Dernière intervention
-
Raymond PENTIER Messages postés 58988 Date d'inscription Statut Contributeur Dernière intervention -
Raymond PENTIER Messages postés 58988 Date d'inscription Statut Contributeur Dernière intervention -
Bonsoir,
Je rencontre un souci avec la fonction DATEDIF : quand je veux calculer en mois la différence entre le 1er janvier 2021 et le 31 décembre 2021 soit dans la cellule B1 la fonction suivante =DATEDIF(A1;A2;"m"), le résultat obtenu donne 11 mois au lieu de 12 mois.
Savez-vous comment je peux résoudre cela ?
Je rencontre un souci avec la fonction DATEDIF : quand je veux calculer en mois la différence entre le 1er janvier 2021 et le 31 décembre 2021 soit dans la cellule B1 la fonction suivante =DATEDIF(A1;A2;"m"), le résultat obtenu donne 11 mois au lieu de 12 mois.
Savez-vous comment je peux résoudre cela ?
Configuration: Windows / Chrome 92.0.4515.131
A voir également:
- Datedif excel n'existe pas
- Datedif ne fonctionne pas - Meilleures réponses
- Excel datedif n'existe pas - Meilleures réponses
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel moyenne - Guide
3 réponses
Bonjour Lili.
Dans sa logique, la fonction DATEDIF compte bien 11 mois en faisant décembre-janvier, soit 12-1.
Mets plutôt comme formule =DATEDIF(A1;A2;"j")/12
Dans sa logique, la fonction DATEDIF compte bien 11 mois en faisant décembre-janvier, soit 12-1.
Mets plutôt comme formule =DATEDIF(A1;A2;"j")/12
Merci infinement Via55 mais ça ne fonctionne pas si par exemple je mets le 28/01/2021 et le 31/12/2021, ça affiche 11 mois
Bonsoir,
Via55 a raison: DATEDIF n'inclut pas la date "non terminée" (la dernière date) dans le calcul; pour ce faire en partant du 1er janvier, il faut donc soit ajouter 1 à la date de sortie, soit la mettre non pas au 31 décembre mais au 1er janvier de l'année suivante.
Si maintenant je pars du 28 janvier, je contredis ce comportement puisque, que je choisisse +1 ou à la main 01/01/22 ou 31/12/21, le résultat est le même, 11 mois et correct, montrant qu'alors que la "date non terminée" est cette fois-ci prise en compte.
Microsoft lui-même met en garde du comportement erratique de DATEDIF qui n'existe plus que pour rétrocompatibilité Lotus.
Il paraît donc plus sain d'utiliser:
=MAX(0;(ANNEE(B2+1)-ANNEE(A2-1))*12+MOIS(B2+1)-MOIS(A2-1)-1)
qui rend un résultat cohérent dans les 2 cas.
Via55 a raison: DATEDIF n'inclut pas la date "non terminée" (la dernière date) dans le calcul; pour ce faire en partant du 1er janvier, il faut donc soit ajouter 1 à la date de sortie, soit la mettre non pas au 31 décembre mais au 1er janvier de l'année suivante.
Si maintenant je pars du 28 janvier, je contredis ce comportement puisque, que je choisisse +1 ou à la main 01/01/22 ou 31/12/21, le résultat est le même, 11 mois et correct, montrant qu'alors que la "date non terminée" est cette fois-ci prise en compte.
Microsoft lui-même met en garde du comportement erratique de DATEDIF qui n'existe plus que pour rétrocompatibilité Lotus.
Il paraît donc plus sain d'utiliser:
=MAX(0;(ANNEE(B2+1)-ANNEE(A2-1))*12+MOIS(B2+1)-MOIS(A2-1)-1)
qui rend un résultat cohérent dans les 2 cas.
Non puisque DATEDIF est au format anglo-saxon: D et pas J et qu'il y a lieu (format nombre sans décimale) de diviser non par 12 mais par 30.