Vous êtes sur la page 1sur 11

Fonction SI – Utiliser des

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 faire précisément.

2
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 :
3
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"))))))))))))

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
4
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.

5
▪ =SI(C9>15000;20%;SI(C9>12500;17,5%;SI(C9>
10000;15%;SI(C9>7500;12,5%;SI(C9>5000;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 existantes ?
Vous avez beaucoup de travail à faire !

6
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.

Voici un exemple du scénario de calcul de


commission dont la logique est désordonnée :

Pouvez-vous voir le problème ? Comparez l’ordre des


comparaisons de chiffre d’affaires avec l’exemple
précédent. Dans quel sens celle-ci se trouve-t-elle ?
C’est exact, elle va de bas en haut (5 000 $ à 15 000
$), et non l’inverse. Pourquoi cela devrait-il être si
important ? C’est une bonne chose, car la formule ne
permet pas de passer la première évaluation pour une
valeur dont la valeur est plus élevée que 5 000 $.
Supposons que vous avez un revenu de 12 500 $ :
l’instruction SI vous rapporte 10 %, car elle est
supérieure à 5 000 $ et s’arrête là. Cela peut s’avérer
7
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)

8
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.

RechercheV est couverte par des détails bien plus


précis ici, mais c’est certainement beaucoup plus
simple qu’une instruction SI complexe imbrmbrée à

9
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

Vous aimerez peut-être aussi