Maîtrisez La Fonction SI Pour Des Formules Conditionnelles !

Temps de lecture : 8 minutes

La fonction SI d’Excel est l’une des fonctions logiques les plus intéressantes. Elle permet notamment d’imbriquer en elle d’autres fonctions ou tests logiques et de créer ainsi des formules conditionnelles plus ou moins complexes et puissantes.

Ces formules conditionnelles permettant de rendre les feuilles Excel plus dynamiques et interactives en effectuant des calculs en fonction de différents paramètres.

Excel - Fonction SI
Excel - Fonction SI

Nous allons introduire dans cet article les bases de la fonction SI, son utilisation simple, imbriquée ou en combinaison avec d’autres fonctions logiques.

Si vous avez des difficultés ou une question, n’hésitez pas à commenter ou me contacter.

Telle que définie dans Excel, la Fonction SI « vérifie si la condition est respectée et renvoie une valeur si le résultat d’une condition que vous avez spécifiée est VRAI, et une autre si le résultat est FAUX. »

Elle permet d’exprimer à travers une formule : « Si le résultat du Test Logique est VRAI, je souhaite obtenir cette Valeur en retour, dans le cas contraire, je souhaite obtenir cette autre Valeur en retour »

Commençons par aborder la syntaxe de la fonction avant d’en expliquer son fonctionnement.

Syntaxe de la fonction SI

La Fonction SI prend 3 arguments à travers la syntaxe suivante :

=SI(Test Logique; [Valeur Si Vrai]; [Valeur Si Faux])

Test Logique

L’argument « Test Logique » correspond au test qui permettra de déterminer quelle Valeur sera retournée en résultat de la fonction SI. Pour être valide, cet argument doit donc être une expression qui renvoie forcément soit VRAI, soit FAUX.

Il peut donc d’agir :

  • directement d’une valeur logique (booléen VRAI ou FAUX) ;
  • d’une référence à une cellule qui contient elle-même une valeur logique ;
  • d’une expression logique qui utilise l’un des opérateurs de comparaison (voir rappel plus bas) ;
  • d’une fonction qui a pour résultat une valeur logique ;
  • d’un nombre puisque l’évaluation sera pour tout nombre différent de 0 : VRAI, pour 0 : FAUX ;
  • ou donc par extension de toute fonction, référence ou expression renvoyant un nombre.

Valeur Si Vrai

L’argument « Valeur Si Vrai » correspond, comme son nom l’indique, à la Valeur qui sera retournée par la fonction SI dans le cas où le Test Logique est évalué à VRAI.

Il peut s’agir :

  • directement de toute valeur constante (Nombre, Texte, Valeur logique, Date) ;
  • d’une expression, qui sera évaluée à son tour pour en déterminer le résultat ;
  • d’une fonction, qui sera à son tour évaluée pour en déterminer le résultat.

Valeur Si Faux

A l’inverse, l’argument « Valeur Si Faux » correspond, comme son nom l’indique, à la Valeur qui sera retournée par la fonction SI dans le cas où le Test Logique est évalué à FAUX.

Tout comme l’argument « Valeur Si Vrai », il peut s’agir du même type de valeur, expression ou fonction imbriquée.

Les opérateurs logiques

Pour rappel, Excel permet de définir des expressions logiques à l’aide des opérateurs de comparaison repris dans la table ci-dessous.

OpérateurSignification
=Egal à
<>Différent de
>Supérieur à
<Inférieur à
>=Supérieur ou égal à
<=Inférieur ou égal à

Chaque expression logique renverra une valeur logique VRAI ou FAUX en résultat, pouvant donc être utilisée en tant qu’argument « Test Logique » de la fonction SI.

Par exemple :

=SI(A5 > 0; VRAI; FAUX)

Retournera « VRAI » si la valeur contenue dans la cellule « A5 » est supérieure à 0, et « FAUX » si la valeur contenue dans « A5 » est inférieure ou égale à 0. (Bien entendu dans la pratique on remplacera les arguments « Valeur Si Vrai » et « Valeur Si Faux » pour donner son intérêt à l’utilisation de la fonction SI dans un tel cas.)

Les opérateurs logiques sont abordés plus en détails dans un article dédié.

La Fonction SI renvoie une erreur #VALEUR!

Dans le cas où le premier argument « Test Logique » de la fonction SI est incorrect, tel qu’il ne renvoie ni VRAI, ni FAUX ou ni une Valeur numérique, alors le résultat de la fonction SI sera une erreur de type « #VALEUR! ». 

Si malgré tout, le « Test Logique » renvoit effectivement VRAI ou FAUX ou une Valeur numérique, alors l’origine de l’erreur « #VALEUR! » trouvera probablement sa source dans les arguments « Valeur Si Vrai » ou « Valeur Si Faux ».

Formules conditionnelles simples avec la fonction SI

Abordons dans un premier temps quelques cas d’utilisation de la fonction SI dans des formules conditionnelles simples.

Comparaisons avec la fonction SI

Comme mentionné plus tôt, les opérateurs de comparaison peuvent être utilisé au sein d’une fonction SI pour renvoyer un résultat selon l’évaluation de la comparaison effectuée. Exemples ci-dessous pour chacun de ces opérateurs.

Excel - Fonction SI - Opérateurs de comparaison
Excel - Fonction SI - Opérateurs de comparaison

Si une cellule contient exactement un texte spécifique

Avec l’utilisation de l’opérateur de comparaison « égal », il sera possible de déterminer si une cellule contient spécifiquement un texte (ou même toute autre valeur donnée en comparaison). Cette comparaison imbriquée dans une fonction SI permettra de formuler : « Si cette cellule contient exactement cette valeur, alors renvoyer ce résultat, sinon renvoyer cet autre résultat. »

Dans l’exemple ci-dessous, on dispose de plusieurs montants en Euro ou US Dollar. On souhaite convertir l’ensemble des montants en US Dollar. Avec la fonction SI, on va donc appliquer la formule : « Si la devise est EUR, alors appliquer le taux de change EUR/USD au montant, sinon retourner le montant tel quel ».

Excel - Fonction SI - Si une cellule contient un texte spécifique
Excel - Fonction SI - Si une cellule contient un texte spécifique

Si une cellule contient en partie un texte

En s’appuyant sur l’article Vérifier si une cellule contient un texte ou un mot, il est possible d’imbriquer les fonctions CHERCHE, TROUVE (avec ESTNUM) ou NB.SI (avec la comparaison « = 1 ») en tant qu’argument « Test Logique » d’une une fonction SI afin de retourner un résultat spécifique si une cellule contient en partie une chaine de caractères donnée, et éventuellement un autre résultat si ce n’est pas le cas : « Si cette cellule contient en partie tel texte, alors renvoyer ce résultat, sinon, renvoyer cet autre résultat. »

L’exemple ci-dessous illustre l’imbrication de ESTNUM(CHERCHE()) en tant qu’argument « Test Logique » de la fonction SI(). A partir d’intitulés de transaction on essaie d’harmoniser dans une colonne supplémentaire le « Type » de transaction : « Si l’intitulé contient le mot ‘achat’ alors ‘Type’ sera ‘Achat’ sinon ‘Autre' »

Excel - Fonction SI avec CHERCHE
Excel - Fonction SI avec CHERCHE

Pour plus de détails et d’exemples avec CHERCHE, TROUVE ou NB.SI, se référer à l’article mentionné.

Si une cellule est vide (En valeur)

En comparant l’opérateur logique « égal » avec la chaîne de caractères vide, il est possible de tester si une cellule est vide en valeur. Ainsi, en imbriquant ce test logique en tant que premier argument de la fonction SI, il est possible d’exprimer à travers une formule : « Si cette cellule est vide, renvoyer ce résultat, sinon, renvoyer cet autre résultat. »

=SI(A1 = ""; VRAI; FAUX)

Une utilisation pratique de cette combinaison se fait lorsque l’on souhaite appliquer, sur toute une colonne ou ligne, une formule qui utilise en argument une autre colonne ou ligne dont le nombre d’éléments peut varier. On peut ainsi éviter d’eventuels calculs lourds qui mèneraient à une erreur.

Excel - Fonction SI - Si Cellule Vide Alors
Excel - Fonction SI - Si Cellule Vide Alors

Dans l’exemple ci-dessus, on souhaite effectué un calcul lourd utilisant un argument de la colonne A, sans savoir combien de cellules seront effectivement remplies dans cette colonne, pour gérer ce nombre variable et éviter un retour d’erreur si la valeur en colonne A est vide, on utilise la fonction SI pour tester si la cellule est vide, si c’est le cas, on ne fait rien, si elle n’est pas vide, on effectue le calcul lourd. Bien entendu, on illustre ici avec 9 lignes, mais cette formule prouve son efficacité sur plusieurs centaines de lignes.

Si une cellule n'est pas vide (En valeur)

De même et dans le cas contraire, on peut tester si une cellule n’est pas vide en valeur avec l’opérateur de comparaison « différent de » face à la chaîne de caractères vide. Là encore, en imbriquant cette comparaison en tant qu’argument « Test Logique » de la fonction SI, on indiquera : « Si cette cellule n’est pas vide, alors renvoyer ce résultat, sinon, renvoyer cet autre résultat. »

Excel - Fonction SI - Si Cellule Non Vide Alors
Excel - Fonction SI - Si Cellule Non Vide Alors

Ci-dessus le cas inverse de l’exemple précédent « Si Vide Alors ». Ici on teste si la cellule n’est pas vide, dans ce cas on effectue un calcul lourd, sinon on ne fait rien.

Plusieurs fonctions SI imbriquées : conditions multiples

Pour évaluer un plus grand nombre de cas (plus de 2 résultats en fonction de différents tests logiques), un enchaînement de plusieurs fonctions SI imbriquées est possible, tel que :

=SI(Test Logique 1; SI(Test Logique 2; VRAI; FAUX); SI(Test Logique 3; VRAI; FAUX))

Interprété comme « Si le résultat du Test Logique 1 est VRAI, alors, [Si le résultat du Test Logique 2 est VRAI, renvoyer ce résultat, sinon, renvoyer cet autre résultat], sinon, [Si le résultat du Test Logique 3 est VRAI, renvoyer ce résultat, sinon, renvoyer cet autre résultat]. »

Excel - Fonction SI imbriquée
Excel - Fonction SI imbriquée

Fonction SI combinée avec d'autres fonctions logiques

Pour finir, voyons comment la fonction SI peut être combinée avec d’autres fonctions logiques : notamment avec les fonctions ET, OU, NON.

Fonction SI combinée avec ET : Formule à plusieurs conditions

La fonction ET permet de valider un ensemble de tests logiques, si tous les tests passés en arguments sont VRAI alors la fonction ET renverra VRAI, et dans le cas contraire, si au moins l’un des tests est FAUX, alors la fonction ET renverra FAUX.

Pour plus de détails sur cette fonction, voir : La fonction ET.

Ainsi, la fonction ET peut être combinée avec la fonction SI pour renvoyer un résultat si un ensemble de tests est évalué à VRAI, ou un autre résultat si au moins l’un des tests est évalué à FAUX.

L’exemple ci-dessous illustre la fonction ET combinée avec la fonction SI. On cherche à déterminer si un élève a validé son semestre ou si il doit aller en examen de rattrapage, les critère pour valider le semestre étant moyenne supérieure ou égale à 10 et note minimale à chaque examen supérieure ou égale à 6.

Excel - Fonction SI - Combinée avec la fonction ET
Excel - Fonction SI - Combinée avec la fonction ET

Fonction SI combinée avec OU : Une condition parmi plusieurs

La fonction OU permet de déterminer si au moins un des tests logiques passés en argument est évalué à VRAI, si c’est le cas, la fonction OU retourne VRAI, sinon, si tous les tests sont FAUX, la fonction renverra FAUX.

Vous pouvez lire l’article sur ce sujet pour plus de détails sur la fonction OU.

Là encore, cette fonction logique peut être combinée avec la fonction SI pour renvoyer un résultat ou un autre en fonction de l’évaluation de la fonction OU.

Même exemple que précédemment pour la fonction ET, sauf que l’on change les conditions pour les adapter à la formulation du OU, ainsi que l’on inverse les résultats si VRAI ou si FAUX : moyenne inférieure à 10 ou note minimale à chaque examen inférieure à 6.

Excel - Fonction SI - Combinée avec la fonction OU
Excel - Fonction SI - Combinée avec la fonction OU

Fonction SI combinée avec NON

La fonction logique NON permet simplement de renvoyer l’inverse de la valeur logique d’une valeur ou d’un test passé en argument, ainsi NON(VRAI) renverra FAUX et inversement NON(FAUX) renverra VRAI.

Son utilisation imbriquée seule dans une fonction SI permettra principalement d’intervertir les arguments « Valeur si Vrai » et « Valeur si Faux ».

En revanche, en combinaison avec une fonction ET, le tout imbriqué dans une fonction SI permettra de gérer plus précisement des conditions spécifiques tels que « Si cette cellule n’est pas vide et que cette autre cellule ne contient pas d’erreur, alors renvoyer ce résultat ».

=SI(ET(NON(ESTVIDE(A1)); NON(ESTERREUR(B1))); VRAI; FAUX)
Partager :

One Reply to “Maîtrisez La Fonction SI Pour Des Formules Conditionnelles !”

Laisser un commentaire