Calculer une durée ou un âge avec la fonction DATEDIF

Calculer une durée ou un âge avec la fonction DATEDIF

Calculer une durée ou un âge avec la fonction DATEDIF

   

Il existe une fonction cachée dans Excel qui permet de calculer une durée entre deux dates, notamment l’âge d’une personne : c’est la fonction DATEDIF.

Peu connue car elle n’apparaît pas dans les suggestions automatiques d’Excel, elle reste pourtant toujours utilisée et permet de calculer des durées de façon précise.

Cas d’usage concrets :

  • Calculer l’âge ou l’ancienneté d’un salarié
  • Calculer la durée d’un contrat ou d’une mission
  • Calculer le nombre de mois restant d’un projet
  • Mesurer le temps écoulé entre deux événements (factures, commandes, livraisons...)
  • Calculer le temps restant avant une échéance, en années, mois et jours...

 

DATEDIF

DATEDIF est une fonction cachée dans Excel.

La syntaxe de DATEDIF n'est pas renseignée et la fonction n'apparaît pas dans la liste.

Il faut donc connaitre la syntaxe.

Syntaxe :

=DATEDIF(date_début; date_fin; unité de temps)

Nous avons 3 arguments à renseigner :

  • La date de début
  • La date de fin
  • L'unité de temps

Détail des arguments :

  • date_début

C’est la date de départ.

Par exemple, la date de naissance d’une personne.

 

  • date_fin

C’est la date de fin ou d'échéance..

Le plus souvent, on utilise la fonction AUJOURDHUI() pour obtenir la date du jour.

 

  • Unité de temps

C’est le type de résultat que vous souhaitez obtenir :

    • "Y" → pour le nombre d’années complètes
    • "M" → pour le nombre de mois complets
    • "D" → pour le nombre de jours
    • "YM" → pour les mois restants après les années complètes
    • "YD" → pour les jours restants après les années complètes
    • "MD" → pour les jours restants après les mois complets

Notes concernant les unités de temps :

– Les guillemets sont obligatoires car il s’agit de texte.

– Les unités sont en anglais :

Y : Year (année),

M : Month (mois),

D : Day (jour).

– Vous pouvez mettre les unités en minuscules (y, m, d).

 

Exemple 1 : Différence entre deux dates en mois

Nous allons calculer la durée en mois entre 2 dates.

Date de début : C2

Date de fin prévue : C3

Durée en mois : C4

On insère la formule en C4 :

D'abord la date de départ, puis la date de fin et l'unité de temps.

=DATEDIF(C2;C3;"M")

 

Résultat : 

Il y a 19 mois entiers entre les 2 dates.

Exemple 2 : Différences entre deux dates en années, mois, jours

Nous allons ajouter le nombre d'années complètes :

Résultat : 1 année complète

Nous allons ajouter le nombre de mois entiers restant après l'année complète.

Résultat :

Nous avons 7 mois complets en plus de l'année , ce qui correspond bien au total de 19 mois trouvés précédemment.

On ajoute le nombre de jours restants après le nombre de mois complets :

Résultat :

Il reste donc 1 an, 7 mois et 15 jours avant l'échéance.

On peut aussi ajouter le nombre de jours total entre les 2 dates :

Résultat : 594

Note pour le nombre de jours

Vous pouvez utiliser DATEDIF pour calculer le nombre de jours entre 2 dates mais il est plus simple d'utiliser la fonction JOURS qui est prévue à cet effet.

(Voir l'article sur la fonction JOURS )  

Dans cet exemple, la durée est fixe.

Si on veut calculer les durées restantes en années, mois et jours restants avant la fin, on utilisera la fonction AUJOURDHUI comme date de début.

 

On peut soit insérer la fonction AUJOURDHUI() directement dans la formule.

Dans ce cas les formules sont :

Années restantes : DATEDIF(AUJOURDHUI();C3;"Y")

Mois restants : DATEDIF(AUJOURDHUI();C3;"YM")

Jours restants : DATEDIF(AUJOURDHUI();C3;"MD")

 

Ou bien insérer la fonction AUJOURDHUI() dans une cellule à part , par exemple en C1.

Les formules seront alors :

Années restantes : DATEDIF(C1;C3;"Y")

Mois restants : DATEDIF(C1;C3;"YM")

Jours restants : DATEDIF(C1;C3;"MD")

Exemple 3 : Calculer des âges

La fonction DATEDIF est particulièrement utile en RH pour calculer des âges ou des anciennetés en la combinant avec la fonction AUJOURDHUI.

Voici un extrait d'un tableau avec les prénoms et dates de naissance des salariés d'une entreprise fictive.

Nous allons calculer l'âge des salariés dans la colonne Âges avec la fonction DATEDIF et la fonction AUJOURDHUI.

(Voir l'article sur la fonction AUJOURDHUI)  

 

Formule :

On insère la fonction DATEDIF dans la 1ʳᵉ cellule vide de la colonne Ages (en F2)

=DATEDIF(E2;AUJOURDHUI();"Y")

Date de début :  La date de naissance : E2

Date de fin : La date du jour : AUJOURDHUI()

Unité : années : "Y"

 

On valide et on incrémente la fonction si besoin sur l'ensemble de la colonne.

Si vos cellules sont sous forme de tableau, la formule est recopiée automatiquement sur l'ensemble de la colonne.

Résultat : 

Notes :

Grâce à la fonction AUJOURDHUI(), le calcul de l’âge sera mis à jour et changera automatiquement à sa date d’anniversaire.

Ne pas oublier les guillemets autour du "Y".

DATEDIF est une fonction cachée, vous remarquerez qu'il n'y a pas la syntaxe qui apparaît quand vous entrez la fonction.

Astuce : Pour afficher le texte "ans" dans la cellule, vous devez créer un format de cellule personnalisé ou bien ajouter & " ans" dans votre formule.

Format personnalisé :

Dans l'onglet Accueil , ou clic droit Format de cellules 

Dans Type, Ajoutez "ans" après Général.

Avec le symbole & :

Ajoutez & " ans" dans la formule comme ceci :

Mettez bien " ans" entre guillemets et un espace après le 1er guillemet pour ne pas que le texte soit collé à l'âge.

 Résultat : 

 

En anglais :

La fonction est déjà écrite en anglais : DATEDIF signifie Date Difference.

 

L'article sur la fonction DATEDIF est terminé.

Vous pouvez télécharger le fichier Excel avec les tableaux vus dans cet article, vous obtiendrez le fichier avec un tableau vierge et un tableau avec les fonctions.

 

 

Vous pouvez aussi commenter l'article et vous abonner au blog si ce n'est pas encore fait, pour recevoir du contenu exclusif réservé aux membres et progresser sur Excel.

Il vous suffit de renseigner votre prénom et votre adresse mail dans le formulaire ci-dessous.

À bientôt sur le blog Maîtrisez Excel.

Steeve

 

Compter des cellules selon un ou plusieurs critères avec NB.SI et NB.SI.ENS

Compter des cellules selon un ou plusieurs critères avec NB.SI et NB.SI.ENS

Compter des valeurs avec les fonctions NB.SI et NB.SI.ENS

 

Il existe deux fonctions très utiles dans Excel pour compter des cellules selon un ou plusieurs critères : NB.SI et NB.SI.ENS.

 

NB.SI

La fonction NB.SI compte le nombre de cellules d’une plage qui répondent à un critère donné.

Le critère peut être un texte, un nombre, une comparaison ou une cellule de référence.

Par exemple le nombre d’hommes et de femmes dans une entreprise, le nombre de ventes réalisées dans une ville ou par un vendeur, le nombre de ventes supérieures à 1000€ ou le nombre de produits dont le stock est inférieur à 10…

Syntaxe :

= NB.SI(plage; critère)

La fonction a juste 2 arguments :

Plage : La plage de cellules à compter

Exemples : Colonne D, A2:A20

Critère : La condition à compter

Exemples : ">=1000",  "Saint-Denis", "F";  "Marie", 50

 

Exemple 1 : Compter un texte

Vous avez un tableau avec les salariés d'une entreprise fictive.

Vous voulez connaitre le nombre de femmes et d'hommes dans l'entreprise.

(Le tableau entier fait 220 lignes, j'ai volontairement coupé l'image pour des raisons de place).

Les femmes et hommes sont indiqués dans la colonne G avec un F et un H.

La fonction NB.SI va nous permettre de compter le nombre de cellules qui contiennent un F puis celles contenant un H.

Nous allons créer un tableau pour afficher le nombre de femmes et d'hommes :

Nous allons d'abord compter le nombre de femmes dans l'entreprise, donc combien de fois "F" apparait dans la colonne G.

Formule :

=NB.SI(G:G;"F")

D’abord sélectionner la plage de cellules qui contient notre 1ᵉʳ critère, ici le genre en colonne G.

Ajouter un point-virgule pour écrire le critère cherché, ici "F".

Attention, le texte doit être mis entre guillemets, comme pour toute fonction Excel. Si vous oubliez les guillemets, vous aurez un message d’erreur.

 

La cellule affiche 103, il y a 103 "F" dans la colonne G, donc 103 femmes.

 

Nous allons faire la même chose avec les hommes, en mettant un "H" comme critère.

=NB.SI(G:G;"H")

Il y a 115 hommes.

 

Exemple 2 : Compter un critère numérique

Nous allons maintenant voir un exemple avec un critère numérique.

Par exemple nous voulons connaitre le nombre de salaires supérieurs à 30 000€.

Reprenons le même tableau :

En colonne Q nous avons le salaire annuel de chaque salarié.

Formule :

Compter les valeurs supérieures à 30 000 :

=NB.SI(Q:Q;">=30000")

Dans ce cas il faut tout mettre entre guillemets, même la valeur.

 

Résultat : 90

 

NB.SI.ENS

Nous avons vu comment compter des cellules avec la fonction NB.SI lorsque l’on veut compter un seul critère.

Vous pouvez également compter des cellules avec plusieurs critères avec la fonction NB.SI.ENS.

 

Syntaxe :

= NB.SI.ENS(plage_critères1; critère1; [plage_critères2; critère2]; ...)

 

S'il y a plusieurs critères, la fonction contient au moins 4 arguments :

 

Plage du Critère 1

Critère 1

Plage du Critère 2

Critère 2

.....

 

Il faut sélectionner la plage du 1er critère, puis le 1er critère, ensuite la plage du 2ème critère et le 2ème critère et même chose avec le ou les autres critères. Vous pouvez mettre jusqu’à 256 critères.

 

Exemple avec 2 critères

Reprenons les 2 exemples précédents, nous avons compté d'abord le nombre de femmes et d'hommes et ensuite le nombre de salaires supérieurs à 30 000€.

Nous voulons à présent compter le nombre de femmes et d'hommes ayant un salaire supérieures ou égals à 30 000€.

Nous aurons donc 2 critères, le genre et les salaires >=30000

Nous allons compléter le tableau comme ceci :

 

Formules :

Nous allons d'abord compter le nombre de femmes dont le salaire est supérieur à 30 000€.

Pour les femmes :

=NB.SI.ENS(G:G;"F";Q:Q;‘’>=30000’’).

1er argument : La colonne du 1er critère : la colonne Genre (G)

2ème argument : Le 1er critère "F"

3ème argument :  La colonne du 2ème critère : la colonne Salaire (Q)

4ème argument : Le 2nd critère ">=30000"

 

Résultat : 

Pour les hommes :

Même chose pour les hommes, on remplace juste le 2ᵉ argument "F" par "H".

=NB.SI.ENS(G:G;"H";Q:Q;‘’>=30000’’).

Résultat : 45

Ce n'est pas une erreur, nous avons le même nombre que pour les femmes, d'ailleurs cela correspond bien au total de 90 que nous avons calculé dans l'exemple avec NB.SI.

Exemple avec 3 critères  

Nous allons dans ce dernier exemple utiliser 3 critères.

Nous voulons connaitre le nombre de salaires supérieurs à 30 000€ pour les femmes et les hommes sur le site de Saint Denis.

On va simplement rajouter une 3ᵉ plage et un 3ᵉ critère à notre fonction.

Les sites sont dans la colonne T.

 

Nous allons ajouter une colonne à notre tableau :

Formules :

Pour les femmes :

=NB.SI.ENS(G:G;"F";Q:Q ; ">=30000";T:T;"Saint Denis").

 

 

Pour les hommes :

Il suffit de remplacer "F" par "H", le reste est identique.

=NB.SI.ENS(G:G;"H";Q:Q ; ">=30000’’ ;T:T;"Saint Denis").

 

Résultats :

Remarque :

Au lieu d'écrire "Saint Denis", avec un risque d'erreur, vous pouvez aussi sélectionner une cellule contenant le texte "Saint Denis".

 

Utiliser NB.SI.ENS avec un seul critère

Certains "experts" Excel recommandent d'utiliser NB.SI.ENS même si l'on a un seul critère, pourquoi pas, cela fonctionne également.

Reprenons le 1er exemple :

Compter le nombre de F.

Rappel : nous avons écrit la fonction NB.SI(G:G;"F").

Nous pouvons aussi écrire NB.SI.ENS(G:G;"F").

Pour ma part je préfère utiliser NB.SI lorsque l'on a qu'un critère unique.

En anglais

Les fonctions en anglais sont :

  • NB.SI → COUNTIF
  • NB.SI.ENS → COUNTIFS

 

Voilà, cet article sur les fonctions NB.SI et NB.SI.ENS est terminé.

Vous pouvez télécharger le fichier Excel avec les exemples de l'article.

Vous trouverez un onglet avec le tableau de l'entreprise et les tableaux à compléter et un onglet avec les corrigés.

 

 

Vous pouvez aussi vous abonner au blog si ce n’est pas encore fait, pour recevoir du contenu exclusif réservé aux membres et progresser sur Excel.

Il vous suffit de renseigner votre prénom et votre adresse mail dans le formulaire ci-dessous.

À bientôt sur le blog Maîtrisez Excel.

Steeve

 

Premiers pas avec la formule conditionnelle SI

Premiers pas avec la formule conditionnelle SI

Premier pas avec la fonction conditionnelle SI

 

La fonction SI est l'une des fonctions les plus utilisées d'Excel.

Elle permet de réaliser des tests logiques et d’afficher un résultat différent selon que la condition est vraie ou fausse : si une condition est remplie, on affiche un certain résultat ; sinon, un autre, c'est une fonction conditionnelle.

Le résultat peut être un texte, un chiffre ou bien un calcul.

 

Exemples d'applications concrètes :

  • Valider un objectif (vente, performance, délai)
  • Appliquer une remise, prime ou pénalité selon une condition
  • Créer des statuts automatiques (“Validé”, “En attente”, “Refusé”)
  • Gérer des notations ou seuils (réussi, échoué, mention, etc.)
  • Mettre en place des indicateurs de performance dynamiques
  • Afficher “Admis” si une note est supérieure à 10, sinon “Refusé”
  • Appliquer une remise  si une commande dépasse 100 unités
  • Calculer une prime si un objectif est atteint ou selon une ancienneté
  • Afficher une alerte si un article est en dessous d'un certain seuil
  • Afficher une alerte si une date d'échéance est proche...

Les applications sont nombreuses, dès que vous devez faire un choix ou afficher un résultat en fonction d’une règle, la fonction SI est la bonne solution.

Syntaxe

 

=SI(condition; valeur_si_vrai; valeur_si_faux)

La fonction SI a 3 arguments : 

  • condition : une expression logique (exemple : A1>10)
  • valeur_si_vrai : ce qu’Excel doit afficher ou calculer si la condition est vraie
  • valeur_si_faux : ce qu’Excel doit afficher ou calculer si la condition est fausse

 

Exemple 1 : Condition avec du texte

 

Le tableau suivant montre les résultats d'étudiants à un examen.

On va afficher “Admis” si la note est supérieure ou égale à 10, et “Ajourné” sinon.

 

On se place sur la première cellule vide de la colonne Résultat.

 

 

Nous allons tester la condition B2>=10 sur le premier résultat.

  • Si elle est vraie, alors le résultat sera “Admis”
  • Sinon, ce sera “Ajourné”

 

La formule est :

=SI(B2>=10; "Admis"; "Ajourné")

 

(Si les cellules sont sous forme de tableau, la cellule B2 est remplacée par le nom de la colonne.)

 

Ensuite nous incrémenterons la fonction sur l'ensemble du tableau.

Si les cellules sont mises sous forme de tableau, la formule sera incrémentée automatiquement à l'ensemble de la colonne.

 

Résultat :

 

Note 1 : 

Lorsque l'on met du texte dans une formule Excel, il faut toujours le mettre entre guillemets, sinon vous aurez un message d'erreur.

 

Note 2 : 

On peut traduire le premier point-virgule par "Alors", le second par "Sinon" :

Si la note est >=10; Alors "Admis" ; sinon "Ajourné".

 

Note 3 :

Si vous laissez vide l'argument valeur_si_faux, Excel affichera FAUX dans la cellule.

 

Exemple 2 : Condition avec une valeur

 

Le tableau ci-dessous montre les ventes de plusieurs commerciaux.

Supposons qu’un employé touche une prime de 500 euros si ses ventes dépassent 10000 euros.

Si CA >= 10000; Alors 500; Sinon 0.

 

On insère la fonction :

 

Résulat :

Excel attribue 500 si la vente est supérieure à 10000, sinon 0.

 

Exemple 3 : Condition avec un calcul

 

Maintenant, nous allons effectuer un calcul si la condition est vraie.

Reprenons l'exemple précédent.

Nous allons calculer une prime si les ventes sont supérieures à 10000, mais la prime sera égale à 2% du CA.

Vous pouvez ajouter une autre colonne que l'on appellera Prime 2, cela vous permettra de comparer les 2 formules.

 

La formule est :

On effectue un calcul si la condition est vraie, sinon on met 0.

On prend le CA que l'on multiplie par 2%.

Résultat : 

Note : 

On peut aussi mettre du texte si la condition est fausse, par exemple écrire "Pas de prime", ou mettre un tiret "-".

 

En anglais

La fonction en anglais est IF.

 

Utilisations plus avancées

 

Imbrication de plusieurs SI

 

Vous pouvez imbriquer plusieurs fonctions SI pour gérer plusieurs cas.

On parle de fonctions SI imbriquées.

 

Exemple 4 : Plusieurs SI imbriquées

Reprenons le premier exemple.

Nous avons mis une condition simple selon que la note soit supérieure ou inférieure à 10.

Maintenant nous allons créer plusieurs conditions et afficher une mention selon la note :

=SI(A1<10; "Ajourné"; SI(A1<12; "Passable"; SI(A1<14; "Assez bien"; SI(A1<16; "Bien"; "Très bien"))))

Cette formule teste les conditions successivement :

  • Si A1 < 10 : Ajourné
  • Sinon, si A1 < 12 : Passable
  • Sinon, si A1 < 14 : Assez bien
  • Sinon, si A1 < 16 : Bien
  • Sinon, Très bien

Note 1 : 

On remarque que la dernière condition n'est pas précisée, en effet, si toutes les autres conditions sont fausses, cela signifie que la note est inférieure ou égale à 20 et supérieure ou égale à 16.

Note 2 :

Vous devez avoir autant de parenthèses ouvertes que fermées, vous pouvez les repérer facilement car chaque paire de parenthèses a sa propre couleur.

Note 3 : 

Il est conseillé de rester lisible et de ne pas imbriquer plus de 4 à 5 niveaux dans une même cellule.

Inconvénients des SI imbriquées.

 

Vous avez dû le voir si vous avez essayé, insérer plusieurs SI est assez chronophage et source d'erreurs, vous pouvez oublier un guillemet, un point-virgule, une parenthèse.

Depuis la version Excel 2019 et Microsoft 365, 2 nouvelles fonctions ont été intégrées, ce sont les fonctions SI.CONDITIONS et SI.MULTIPLE, elles permettent de faire plusieurs conditions sans imbriquer de nombreux SI.

Elles simplifient la formule et réduisent les erreurs.

Pour en savoir plus sur ces 2 fonctions, l'article complet est ici.

 

Erreurs fréquentes

Voici les principales erreurs rencontrées avec la fonction SI :

  • Oublier un point-virgule entre les arguments
  • Ne pas fermer toutes les parenthèses si vous imbriquez plusieurs SI
  • Oublier de mettre le texte entre guillemets.

 

Les SI imbriquées étant plus complexes, elles seront développées dans un prochain article.

 

SI et Copilot

Pour éviter les saisies manuelles et les possibles erreurs, vous pouvez utiliser Copilot pour insérer des formules conditionnelles SI et des SI imbriquées.

Écrivez ce que vous voulez et Copilot écrira la formule.

J'ai rédigé un article complet sur la prise en main de Copilot avec un exemple sur des formules conditionnelles imbriquées.

 

SI avec des opérateurs logiques

Vous pouvez combiner la fonction SI avec ET ou OU pour tester plusieurs conditions.

Par exemple, pour valider si une note est entre 10 et 20 :

=SI(ET(A1>=10; A1<=20); "Valide"; "Non valide")

On place la fonction ET juste après le SI et avant les conditions.

Vous pouvez mettre plus de 2 conditions.

Avant d'aller plus loin, familiarisez-vous avec la fonction SI pour la maitriser.

L'utilisation avancée de la fonction SI avec des SI imbriqués et les fonctions ET et OU sera détaillée dans de prochains articles.

Conclusion

La fonction SI est la base de la logique dans Excel. Une fois maîtrisée, elle ouvre la voie à des formules dynamiques, intelligentes et automatisées.

C’est la porte d’entrée vers d’autres fonctions puissantes comme NB.SI,NB.SI.ENS, SOMME.SI, MOYENNE.SI.ENS... mais aussi vers les formules avec des opérateurs logiques ET, OU ou des fonctions imbriquées et les fonctions conditionnelles SI.CONDITIONS et SI.MULTIPLE.

Commencez avec des cas simples, testez différentes conditions, et vérifiez toujours vos résultats, y compris avec COPILOT.

Une fois en main, la fonction SI deviendra vite un réflexe dans vos feuilles de calcul.