La fonction SI: 7 exemples pour bien l'utiliser et bien gérer ses paramètres

L’article présent de la formation Excel explique comment utiliser la fonction SI avec des textes, des nombres et des dates à travers des exemples vous présentant des solutions à des problèmes qui peuvent survenir lors de l’utilisation incorrecte des paramètres de cette fonction.
La fonction SI


La fonction SI est une fonction conditionnelle qui fait partie des fonctions logiques, et elle est l’une des fonctions les plus populaires d’Excel, elle permet de spécifier un test logique à effectuer.

Sa syntaxe prend la forme suivante :
Si(test_logique ;[valeur_si_vrai] ;[valeur_si_faux])

A partir de cette syntaxe vous pouvez déduire que la condition que vous spécifiez dans l’argument test_logique doit renvoyer soit la valeur VRAI soit la valeur FAUX.

Alors, si la condition est respectée c’est-à-dire qu’elle renvoie la valeur VRAI, la fonction SI applique ce que vous avez introduit dans le deuxième argument [valeur_si_vrai] ,si non, c’est-à-dire que la condition n’est pas respectée et qu’elle renvoie la valeur FAUX, la fonction SI applique alors ce que vous avez spécifié dans le troisième argument : [valeur_si_faux].

Un petit exemple :

Dans la cellule A1 nous avons tapé 2017.
Et dans la cellule A2 nous avons entré la formule suivante : =SI(A1=2017;"Année en cours";"Année différente")
Notre test logique est A1=2017. C’est-à-dire que la fonction SI doit vérifier si la cellule A1 contient 2017 ou non.
Dans notre cas A1 contient 2017, ce qui est VRAI. La fonction SI applique donc ce qui est défini dans le deuxième argument : Afficher « Année en cours » dans A2.

Fonction SI exemple



  • Remplaçons maintenant 2017 par 2018.
Notre test reste le même A1=2017, mais la condition n’est pas respectée cette fois : A1 ne contient pas 2017, notre test renvoie donc FAUX. Dans ce cas la fonction SI passe au troisième argument et applique ce qui est demandé : Afficher le texte « Année différente ».

Fonction SI exemple de valeur si faux


Note : Pour vérifier si notre condition renvoie une valeur logique (VRAI ou FAUX), nous pouvons faire un test en tapant dans la cellule B1 la formule suivante : =A1=2017


Tester une valeur vrai ou faux



Que pouvez-vous spécifier comme condition dans le premier argument test_logique ?

Que votre condition spécifiée traite du texte, des nombres, des dates ou utilise des opérateurs de comparaison, ou est sous forme de formules, l’essentiel est qu’elle doit renvoyer une valeur logique (VRAI ou FAUX).

Et quelle valeur renvoie la fonction SI après avoir testé la condition spécifiée ?

Comme nous l’avons montré précédemment, l’un des deux résultats que vous avez déterminé dans l’argument valeur_si_vrai ou l’argument valeur_si_faux sera renvoyé.

Ce résultat pourra être un texte, un nombre, une date, un calcul mathématique ou un résultat d’une formule effectuée.

Les deux arguments [valeur_si_vrai] et [valeur_si_faux] sont optionnels

En revenant à la syntaxe de la fonction SI, vous remarquez que les deux arguments valeur_si_vrai et valeur_si_faux sont écrits entre deux crochets, cela signifie dans Excel que ces arguments ne sont pas obligatoires et que vous pouvez les omettre.


  • Reprenons l’exemple précédent et entrez la formule suivante dans A2
=SI(A1=2017;)

  • Dans ce cas, la fonction SI vérifie la condition spécifiée et applique seulement le premier argument, et puisque nous avons laissé cet argument vide, Excel affiche ces valeurs par défaut :
Fonction SI sans arguments

    • Si renvoie 0 si la condition est respectée ; si non elle renvoie FAUX.
Mais si vous tapez deux points-virgules =SI(A1=2017 ;;), la fonction SI renvoie toujours 0.

Fonction Si renvoie toujours 0


En effet, la fonction SI renvoie par défaut 0 comme nous l’avons vu à l’instant si la condition est remplie (en appliquant le premier argument vide) , et lorsque la condition n’est pas remplie la fonction SI va appliquer cette fois le deuxième argument, et comme il est vide à son tour, la fonction SI renvoie par défaut la valeur 0 également.

Dans la plupart des cas, les deux arguments [valeur_si_vrai] et [valeur_si_faux] sont toujours définis par les utilisateurs, pour rendre mieux compréhensibles les résultats renvoyés par la fonction SI. Sauf dans le cas où vous aimeriez par exemple que la fonction SI ne renvoie rien, pour cela faites entrer les doubles guillemets ""  dans ces arguments.

Fonction SI renvoie le vide


Examinons maintenant de près ces exemples qui suivent pour mieux comprendre l’utilisation de la fonction SI :

Fonction SI traitant des conditions textuelles

Exemple 1 : Condition portant sur un texte exact

L’exemple suivant montre l’état de traitement des dossiers: Payé, ,enregistré, en cours de traitement ...

Exemple de tableau Excel


En utilisant la fonction SI nous aimons sélectionner uniquement les dossiers qui se sont payés.

  • Nous allons donc entrer la formule suivante dans la cellule C2 : =SI(B2="Payé";"Oui";"") et nous la copierons dans les cellules de C3 à C10.
Fonction SI vec texte exact


Remarquez donc que le mot « Payé » dans le test_logique est mis entre guillemets puisque c’est du texte.
Note : la fonction SI n’oblige pas de respecter la casse en entrant le mot « Payé ». si vous l’écrivez en minuscule (payé) ou en majuscule (PAYÉ), rien ne change.

Exemple 2 : Attention aux espaces avant et après le texte !!

Si nous reprenons l’exemple précédent et nous appliquons la même formule utilisée dans cet exemple, nous pouvons avoir un résultat non désiré.

Fonction Si problème espace avant le exte



  • Remarquez par exemple les deux cellules B8 et B10, elles contiennent le mot « Payé » mais la fonction SI renvoie du vide au lieu de la valeur « Oui ».
  • Le problème vient des espaces que nous avons tapés avant le mot "Payé" dans la cellule B8 et après le mot "Payé" dans la cellule B10.
Espaces avant et après textes Excel



  • Pour résoudre ce type de problème, nous utilisons la fonction SUPPRESPACE qui permet de supprimer les espaces du texte sauf bien sûr les espaces qui se trouvent entre les mots.
  • Voici donc la nouvelle formule à entrer dans la cellule C2: 
=SI(SUPPRESPACE(B2)="Payé";"Oui";"")


  • Copions la formule dans les autres cellules de C3 à C10, et voici ce que ça donne :
Fonction SI solution probleme espaces avant texte


Exemple 3 : Condition portant sur une partie du texte

Dans cet exemple, nous désirons afficher devant les cellules contenant « CLF » la réponse Oui, ou bien afficher Non dans le cas contraire.

  • Dans la cellule B2 nous allons entrer la formule suivante :
=SI(ESTNUM(CHERCHE("CLF";A2));"Oui";"Non")

Test logique portant sur une partie du texte dans la fonction SI


Comme vous pouvez le remarquer, nous avons imbriqué deux fonctions dans la fonction SI :

  • La fonction CHERCHE qui renvoie le numéro de position de la première lettre du mot recherché si ce dernier est trouvé, si non elle renvoie une valeur d’erreur #Valeur.
Utilisation de la fonction CHERCHE

  • La fonction ESTNUM vérifie si la valeur testée est numérique ou non. Elle va donc tester la valeur renvoyée par la fonction CHERCHE, si cette valeur est un nombre, ESTNUM renvoie VRAI, si cette valeur n’est pas un nombre, ESTNUM renvoie alors FAUX.
Utilisation de la fonction ESTNUM


Après ces deux étapes, intervient la fonction SI, qui va vérifier à son tour si la valeur renvoyée enfin par la fonction ESTNUM est VRAI, dans ce cas elle affiche Oui, si non elle affiche Non.

Utiliser la fonction SI avec test logique portant sur des nombres

Exemple 1 : Calculer une prime si

Dans l’exemple suivant, nous allons calculer une prime d’un chiffre d’affaire s’il est supérieur à 10000 euros en multipliant ce chiffre d’affaire par 3%.

  • La formule qui sera utilisée est la suivante :
=SI(A2>10000;A2*3%;0)

Remarquez que le montant 10000 est écrit sans guillemets parce qu’il est de type numérique.

  • En copiant la formule dans les autres cellules, nous obtiendrons le résultat suivant :
Fonction SI supérieur à un nombre


Remarquez aussi que nous avons défini dans l’argument valeur_si_vrai une formule A2*3% qui sera effectuée lorsque la condition sera remplie.

Exemple 2 : Attention ! Quantité de stock épuisée !

Dans cet exemple, nous voulons afficher un message lorsque la quantité de stock est inférieure à 50.

  • Pour cela, nous utilisons la fonction SI de la façon suivante :
=SI(A2<50;"Epuisée";"")

  • La cellule A2 contient une quantité supérieure à 50, la cellule B2 n’affiche rien donc. Et en copiant la formule dans les autres cellules nous aurons ce résultat :
Fonction SI inférieur à une valeur numérique


Fonction SI avec test logique portant sur des dates

Exemple 1 : comparaison de deux dates

Le tableau suivant comporte une liste des dates de rendez-vous différentes. Nous estimons savoir si la date d’un rendez-vous pris est écoulée ou pas encore.

  • Pour cela nous avons entré la formule suivante dans la première cellule B2 :
=SI(A2<"24/04/2017";"Date écoulée";"Date future")

  • Puis nous l’avons copiée dans les cellules qui restent.
Fonction SI problème date



  • Mais le problème c’est que notre formule nous renvoie Date écoulée même si la date du rendez-vous est inférieure à la date d’aujourd’hui (24/04/2017)
  • La cause de ce problème est que la fonction SI ne traite pas les dates contenues dans ses paramètres et écrites comme ça  « 24/04/2017 » ou comme ça 24/04/2017 comme des valeurs de type date. Elle les considère comme des chaines de texte.
  • Pour dépasser donc ce problème, vous devez convertir votre date saisie en numéro de série reconnu par Excel comme une date.
  • Par exemple le numéro de série de la date écrite sous forme de 24/04/2017 est 42849.
1) Alors, notre formule pourra s’écrire comme ça :
=SI(A2<42849;"Date écoulée";"Date future")
Voici le résultat après avoir copié la formule :

Fonction SI avec date sous forme de numéro de série


2) Nous pouvons aussi taper la date dans une autre cellule et utiliser sa référence absolue dans notre formule :
=SI(A2<$D$2;"Date écoulée";"Date future")

Fonction SI utilisant date contenue dans une cellule


Note : lorsque vous écrivez une date dans une cellule, Excel la stocke sous la forme d’un numéro de série séquentiel afin qu’elle soit utilisable dans des calculs.

3) Ou bien utiliser la fonction DATEVAL qui permet de convertir la date écrite dans le test logique en numéro de série.
Voici notre formule obtenue :
=SI(A2<DATEVAL("24/04/2017");"Date écoulée";"Date future")

Et voici le résultat donc :

Fonction SI et DATEVAL


Note : Vous devez écrire votre date entre des guillemets, si non la fonction DATEVAL renvoie une erreur de type #VALEUR !

Exemple 2 : utiliser un calcul de date dans le test logique

Par exemple, une agence a l’habitude de rappeler ses clients de leurs rendez-vous et ceci 10 jours avant la date fixée.

  • Pour cela nous allons utiliser la fonction SI pour nous renvoyer un message texte par exemple « Rappelez » lorsqu’il reste 10 jours ou moins à la date du rendez-vous.
  • Dans la cellule B2, nous allons donc taper la formule suivante :
=SI(A2-AUJOURDHUI()<=10;"Rappelez";"")

  • Nous copions ensuite la formule et voici le résultat obtenu:
Fonction SI avec fonction AUJOURDHUI


Vous pouvez améliorer la formule pour que la fonction SI affiche un message vous informant précisément du nombre de jours restés.
=SI(A2-AUJOURDHUI()<=10;"Il vous reste " &A2-AUJOURDHUI()&" jours";"")

Fonction SI calculer nombre de jours

NB, NBVAL et NBVIDE comptent le nombre de cellules différemment

Dans cet article de la formation Excel, vous allez découvrir comment utiliser les fonctions NB, NBVAL et NBVIDE pour compter le nombre de cellules et comment les utiliser aussi pour trouver le nombre de cellules filtrées ou visibles.
Fonctions NB NBVAL NBVIDE


Elles sont toutes des fonctions statistiques et permettent toutes de compter le nombre de cellules d’une plage de cellules ou d’un tableau. Cependant chacune compte ce nombre selon le type de données se trouvant dans ces cellules.

La fonction NB

La fonction NB permet de compter le nombre de cellules contenant des nombres.
Voici la syntaxe de la fonction NB
NB(valeur1 ; [valeur2] ; ...)

Par exemple:

Le tableau suivant contient différents types de données : Textes, nombres (monétaires et scientifiques aussi ), valeur logique et des cellules vides.

Tableau contenant desdonnées différentes


  • Sélectionnez par exemple la cellule B7 et entrez la formule suivante : =NB(A1:D4)
  • Vous obtenez le résultat suivant : 9
La fonction NB



La fonction NB a compté donc le nombre des cellules qui contiennent des nombres quelque soient leurs formats et a ignoré les autres cellules contenant des textes ou qui sont vides.

La fonction NB compte aussi le nombre de cellules contenant des dates

En plus des nombres, la fonction NB prend en compte les dates, voici un exemple illustratif :

La fonction NB compte les dates


La fonction NBVAL

Suivez l’exemple suivant pour utiliser la fonction NBVAL
  • Dans la cellule B7 tapez la formule suivante : =NBVAL(A1:D4)
  • Excel affiche le nombre 14, alors que la plage de cellules A1:D4 contient 16 cellules.
la fonction NBVAL

  • On conclue donc que la fonction NBVAL compte seulement les cellules non vides et ceci quelque soient leurs contenus : nombres, textes, valeurs logiques (Vrai ou Faux), Erreurs

La syntaxe de la fonction NBVAL est NBVAL(valeur1, [valeur2], ...)

La fonction NB.VIDE

La fonction NB.VIDE permet de compter le nombre de cellules vides.

La syntaxe de la fonction NB.VIDE est NB.VIDE(plage)

Reprenons l’exemple précédent, et dans la cellule B7 tapez la formule suivante : =NB.VIDE(A1:D4)

Vous avez donc 2 cellules vides dans la plage de cellules A1:D4.

La fonction NBVIDE

Compter le nombre de cellules filtrées ou visibles

Prenons l’exemple suivant où nous avons utilisé les deux fonctions NB et NBVAL :
  • Dans la cellule B11 nous avons entré la formule suivante : =NBVAL(B2:B10)
  • Et dans la cellule C11 nous avons entré la formule =NB(C2:C10)
Les deux fonctions NB NBVAL

  • Essayons maintenant de filtrer les données de ce tableau selon une date de facture par exemple 03/04/2017
Filtrer données avec fonction NB

  • Vous remarquez donc que les deux résultats dans B11 et C11 ne changent pas.

Alors pour que les deux fonctions prennent en compte cette opération de filtrage optez pour la fonction SOUS.TOTAL
  • Sélectionnez donc la cellule B11 et tapez =sous.total( et choisissez la fonction numéro 3 : NBVAL puis tapez point-virgule et sélectionnez la plage de cellules B2:B10.
  • Fermez la parenthèse et validez par Entrée.
Fonction SOUS TOTAL et NBVAL

  • Répétez la même procédure pour insérer cette fois la fonction numéro 2 : NB. Vous aurez cette formule:
Fonction SOUS TOTAL et NB

  • Filtrez à présent vos données et remarquez ce qui se passe :
Compter le nombres des cellules filtrées à l 'aide de la fonction NB



Compter le nombre de cellules visibles

Essayez maintenant de modifier les deux formules précédentes en entrant dans les deux cellules B11 et C11 les deux formules suivantes :
=SOUS.TOTAL(103;B2:B10)
=SOUS.TOTAL(102;C2:C10)

Utiliser les fonctions 102 NB et 103 NBVAL dans SOUS TOTAL


Sélectionnez ensuite les lignes de 6 à 10 et masquez-les.

Compter le nombre de cellules visibles avec NB et NBVAL

Vous remarquez alors que les deux fonctions ne comptent que les cellules visibles.