Fonction SI
Fonction SI
Fonction SI
formules imbriquées et
éviter les pièges
La fonction SI permet d’effectuer une
comparaison logique entre une valeur et une
hypothèse en testant une condition et en
renvoyant un résultat Vrai ou Faux.
=SI(quelque chose est vrai,
effectuer telle action, sinon
effectuer telle autre action)
Une instruction SI peut donc avoir deux
résultats. Le premier résultat est appliqué si la
comparaison est vérifiée, sinon le deuxième
résultat est appliqué.
Bien que les instructions SI soient
extraordinairement puissantes et constituent
la base de nombreux modèles de feuille de
calcul, elles sont également à l’origine de
nombreux problèmes de feuille de calcul.
Dans l’idéal, une instruction SI doit s’appliquer
à des conditions minimales, telles que
Homme/Femme, Oui/Non/Peut-être, mais il
arrive que vous deviez évaluer des scénarios
plus complexes nécessitant une imbrication*
de plus de 3 fonctions.
1
* Le terme « imbrication » fait référence à la
pratique consistant à joindre plusieurs
fonctions au sein d’une même formule.
Remarques
Si Excel autorise l’imbrication d’un maximum
de
64 fonctions SI différentes, il n’est pas conseillé
de le
faire. Pourquoi ?
L’utilisation de plusieurs instructions SI
nécessite beaucoup de réflexion pour
créer celles-ci de façon appropriée et
s’assurer que leur logique se calcule
correctement, condition après condition.
Si vous n’imbriquez pas votre formule
avec une précision de 100 %, il se peut
qu’elle fonctionne dans 75 % des cas,
mais renvoie des résultats inattendus
dans les 25 % de cas restants.
Malheureusement, les chances que vous
déceliez ces 25 % d’occurrences sont
minces.
Il peut s’avérer très difficile de gérer des
instructions SI multiples, en particulier si
vous y revenez après un certain temps
en essayant de comprendre ce que vous,
ou pire une autre personne, avez voulu
2
faire précisément.
3
Si vous vous retrouvez avec une instruction SI
qui semble croître à l’infini, il est temps de
poser votre souris et de repenser votre
stratégie.
Nous allons voir comment créer correctement
une instruction SI complexe imbriquant
plusieurs fonctions SI, et quand reconnaître le
moment est venu d’opter pour un autre outil
de votre arsenal Excel.
Exemples
Voici un exemple d’instruction SI imbriquée
relativement standard destinée à convertir un
résultat de test d’étudiant en note
alphabétique équivalente.
=SI(D2>89;"A";SI(D2>79;"B";SI(D2>69;
"C";SI(D 2>59;"D";"F"))))
Cette instruction SI imbriquée complexe
suit une logique simple :
4
1. Si le résultat du test (dans la cellule D2) est
supérieur à 89, l’étudiant reçoit la note A
2. Si le résultat du test est supérieur à 79,
l’étudiant reçoit la note B
3. Si le résultat du test est supérieur à 69,
l’étudiant reçoit la note C
4. Si le résultat du test est supérieur à 59,
l’étudiant reçoit la note D
5. Autrement, l’étudiant reçoit la note F
Cet exemple est relativement fiable, car il est
peu probable que la corrélation entre les
résultats de test et les lettres change, de
sorte que la gestion de cette instruction ne
sera pas compliquée. Mais que se passe-t-il si
vous avez besoin segmenter les notes entre
en A+, A et A-, et ainsi de suite ? Votre
instruction SI à quatre conditions doit être
réécrite pour évaluer 12 conditions ! Votre
formule se présente désormais comme suit :
=SI(B2>97;"A+";SI(B2>93;"A";SI(B2>89;"A
-
";SI(B2>87;"B+";SI(B2>83;"B";SI(B2>79;"
B-
";SI(B2>77;"C+";SI(B2>73;"C";SI(B2>69;"
C-
";SI(B2>57;"D+";SI(B2>53;"D";SI(B2>49;
"D-
";"F"))))))))))))
5
Elle est toujours fonctionnellement exacte et
opère comme prévu, mais il faut beaucoup de
temps pour l’écrire et la tester afin de s’assurer
qu’elle fait bien ce
6
que vous souhaitez. Un autre problème
évident est que vous avez dû entrer les
résultats et les notes correspondantes
manuellement. Quelles sont les chances que
vous fassiez accidentellement une faute de
frappe ? Imaginez que vous deviez faire cela
64 fois avec des conditions plus complexes.
C’est certainement possible, mais voulez-vous
vraiment vous imposer ce type d’effort et vous
exposer à des erreurs éventuelles qui seront
très difficiles à repérer ?
Conseil : Dans Excel, chaque fonction doit figurer entre parenthèses (). Excel essaie
de vous aider à comprendre l’emplacement des différents éléments de votre
formule en les colorant à mesure que vous les modifiez. Par exemple, si vous devez
modifier la formule ci-dessus, lorsque vous déplacez le curseur au-delà de chacune
des parenthèses fermantes « ) », la parenthèse ouvrante correspondante prend la
même couleur. Cela est particulièrement utile dans les formules imbriquées
complexes, lorsque vous tentez de déterminer si vous avez suffisamment de
parenthèses correspondantes.
Exemples
supplémentaires
Voici un exemple très courant de calcul de
commission de ventes basé sur les niveaux de
chiffre d’affaires accompli.
7
=SI(C9>15000;20%;SI(C9>12500;17,5%
;SI(C9>
10000;15%;SI(C9>7500;12,5%;SI(C9>50
00;10%,
0)))))
Cette formule signifie SI (C9 est supérieur à
15 000 retourner 20 %, SI (C9 est supérieur à
12 500 retourner 17,5 %, et ainsi de suite...
Bien qu’elle soit très similaire à l’exemple de
notes précédent, cette formule illustre à quel
point il peut être difficile de gérer des
instructions SI de grande taille. Que devez-
vous faire si votre organisation décide
d’ajouter de nouveaux niveaux de
compensation et éventuellement de modifier
les valeurs en euros ou en pourcentages
8
existantes ?
Vous avez beaucoup de travail à faire !
9
Conseil : Vous pouvez insérer des sauts de ligne dans la barre de formule pour
faciliter la lecture des formules longues. Appuyez simplement sur ALT+Entrée
devant le texte qui doit figurer sur une nouvelle ligne.
1
1
très problématique car, dans de nombreuses
situations, ces types d’erreurs ne sont pas pris
en compte tant qu’ils n’ont pas d’impact
négatif. Ainsi, sachant qu’il existe de sérieux
pièges avec des instructions SI imbrmbrées
complexes, que pouvez- vous faire ? Dans la
plupart des cas, vous pouvez utiliser la
fonction RECHERCHEV au lieu de créer une
formule complexe avec la fonction SI. À l’aide
de RECHERCHEV,vous devez d’abord créer
une table de référence :
=RECHERCHEV(C2;C5:D17;2;VRAI)
1
2
Cette formule indique de rechercher la valeur
de C2 dans la plage C5:C17. Si la valeur est
trouvée, elle renvoie la valeur correspondante
de la même ligne dans la colonne D.
=RECHERCHEV(B9;B2:C6;2;VRAI)
De même, cette formule recherche la valeur
figurant dans la cellule B9 de la plage B2:B22.
Si la valeur est trouvée, elle renvoie la valeur
correspondante de la même ligne dans la
colonne C.
Remarque : Ces deux formules RECHERCHEV utilisent l’argument VRAI à la fin, ce
qui signifie que nous souhaitons qu’elles recherchent une correspondance
approximative. En d’autres termes, elles trouvent les valeurs exactes dans la table
de recherche, ainsi que les valeurs s’inscrivant entre les valeurs exactes. Dans ce
cas, les tables de recherche doivent être triées dans l’ordre croissant, soit de la
valeur la plus petite à la plus grande.
1
3
12 niveaux. Elle présente également d’autres
avantages moins évidents :
Les tables de références
RECHERCHEV sont bien visibles.
Vous pouvez aisément mettre à jour
leurs valeurs sans jamais devoir
modifier la formule en cas de
modification des conditions.
Si vous ne souhaitez pas que des
utilisateurs puissent afficher votre
table de référence ou interférer avec
celle-ci, placez simplement la table
dans une autre feuille de calcul.
Le saviez-vous ?
Il existe désormais une fonction SI.ENS qui
peut remplacer plusieurs instructions SI
imbrmbrées par une fonction unique. Ainsi, au
lieu de notre exemple initial relatif à la
conversion en notes, qui comporte 4 fonctions
SI imbriquées :
=SI(D2>89;"A";SI(D2>79;"B";SI(D2>69;
"C";SI(D 2>59;"D";"F"))))
Nous pouvons simplifier sensiblement la
formule en utilisant une seule fonction
SI.CONDITIONS comme suit :
10
=SI.CONDITIONS(D2>89;"A";D2>79;"B";
D2>69; "C";D2>59;"D";VRAI;"F")
La fonction SI.CONDITIONS est idéale, car elle
permet de ne plus se soucier des instructions SI
et des parenthèses.
11