Breaking

ADS1

ADS

jeudi 16 mai 2019

La fonction SI d'Excel

La fonction SI d'Excel est l'une des fonctions Excel les plus utilisées au quotidien. Elle permet d’évaluer une valeur (habituellement la valeur d’une cellule) selon une condition et de renvoyer une valeur différente selon si la condition est remplie ou pas.
La syntaxe de la fonction Excel SI
La syntaxe est relativement simple et se compose de trois parties
=SI(Condition; Valeur si condition est remplie; Valeur si condition n’est pas remplie)
Condition – la condition compare deux valeurs (valeurs en dur, valeurs de cellule ou résultats de fonction) l’une par rapport à l’autre grâce à un des opérateurs logiques de Excel:
est égal à )
est différent de (<>)
est supérieur à (>)
est supérieur ou égal à (>=)
est inférieur à (<)
est inférieur ou égal à (<=)
Valeur si condition est remplie – c'est la valeur (ou formule) que la fonction SI va renvoyer au cas où la condition est vraie
Valeur si condition n’est pas remplie – valeur (ou formule) renvoyé par la fonction SI dans le cas où la condition n'est pas remplie




Les valeurs renvoyés comme réponse peuvent contenir un texte (comme par exemple "Oui" ou "Non"), un chiffre, le contenu d’une cellule spécifique ou même une autre formule (qui peut, par exemple être une autre fonction SI – voir la section "Fonctions SI imbriquées" plus loin). Voici quelques exemples:

=SI(A3>6, "Oui", "Non")

=SI(A3>6, A3, 0)
=SI(A3>6, B3*C3, B3*D3-2)




Fonctions SI imbriquées
Vous avez probablement déjà rencontré la situation qui exigeait de "mettre plusieurs fonctions SI les unes dans les autres". Il s'agit même de d'une situation tout à fait courante. Voici quelques informations et astuces pour vou
s permettre de gérer une telle situation (formule) de manière efficace et efficiente.

1. Utilisation des paliers
Pour faire simple, commençons par un exemple pratique:

Vous voulez grouper les problèmes d'après leur score pour pouvoir leur attribuer une priorité. Les groupes sont les suivants:

score inférieur à 5 = "priorité faible"
score entre 5 et 10 = "priorité moyenne"
score entre 10 et 15 = "priorité haute"
et score supérieur à 15 = "priorité absolue"
Si on suit ce raisonnement à la lettre, on va se retrouver avec une formule qui ressemblera à celle-ci:

=SI(A1<5;"priorité faible";SI(ET(A1>=5;A1<10)=VRAI;"priorité moyenne";SI(ET(A1>=10;A1<15)=VRAI;"priorité haute";SI(ET(A1>=15;A1<=20)=VRAI;"priorité absolue";""))))

Heureusement, la logique nous permettra de simplifier une telle formule.

Explication: Excel évalue les fonctions SI de manière séquentielle – c'est à dire une à la fois et dans l'ordre. Dans notre exemple, il passera à la seconde condition (score entre 5 et 10) seulement après avoir éliminé la première condition (score inférieur à 5). Cela implique que si Excel passe à la deuxième condition, il est sûr que le score est supérieur à 5 (sinon, Excel se serait arrêté à la première condition). Il en découle donc qu'il n'est pas nécessaire de mentionner A1>=5 dans la seconde condition. Il en va de même pour les conditions suivantes. En court: il suffit de déclarer "un seul côté" de chaque palier (à condition que les paliers soient dans le bon ordre).

La formule suivante donnera, tout en étant plus simple et plus rapide, exactement le même résultat que la précédente:

=SI(A1<5;"priorité faible";SI(A1<10;"priorité moyenne";SI(A1<15;"priorité haute";SI(A1<=20;"priorité absolue";""))))

Attention: quand vous allez déterminer vos paliers numériques, n'oubliez pas d'inclure/exclure les valeurs extrêmes des paliers pour que ces valeurs se retrouvent dans le palier correct (donc attention à la différence entre < et <= ainsi que entre > et >=). Dans l'exemple qui suit, la valeur "5" se retrouvera dans les paliers différents (dans le premier cas dans le premier palier, dans l'autre cas dans le deuxième palier):

=SI(A1<=5;"priorité faible";SI(A1<=10;"priorité moyenne";SI(A1<=15;"priorité haute";SI(A1<=20;"priorité absolue";""))))
=SI(A1<5;"priorité faible";SI(A1<10;"priorité moyenne";SI(A1<15;"priorité haute";SI(A1<=20;"priorité absolue";""))))
2. Ordre des conditions selon la probabilité
L'utilisation des fonctions SI est relativement gourmande en ce qui concerne les ressources de votre machine. Si vous utilisez un grande nombre de ce type de formules, ce qui suit pourrait vous intéresser.

Dans le cas des fonctions SI imbriquées, Excel évalue la première condition et si elle n'est pas remplie, il continue avec la deuxième, puis la troisième et ainsi de suite. Excel arrête le calcul seulement au moment ou une condition est remplie et un résultat peut être affiché. La règle qui en découle est la suivante:

Si vous le pouvez, veuillez à ce que la condition "VRAI" ait lieu le plus tôt possible. Autrement dit, commencez d'abord avec les conditions qui ont le plus de chances à être vraies. Ainsi, vous limitez le temps qu'Excel doit passer à calculer le résultat de la formule.

Un conseil donc: commencez avez une condition générale et gardez les exceptions pour la fin de votre formule imbriquée.

Exemple pratique: Si vous avez un commerce local à Lyon et vous voulez déterminer la nationalité de vos clients, vous avez tout intérêt à ne pas utiliser cette formule-ci:

=SI(PrenomClient="John";"Américain";SI(PrenomClient="Ivan";"Russe";SI(PrenomClient="Luigi";"Italien";SI(PrenomClient="Jean";"Français";""))))

mais à utiliser celle-ci:

=SI(PrenomClient="Jean";"Français";SI(PrenomClient="Luigi";"Italien";SI(PrenomClient="John";"Américain";SI(PrenomClient="Ivan";"Russe";""))))

La seconde formule sera nettement plus rapide que la première (en assumant que la plupart de clients sont Français)…

3. Limitation du nombre des fonctions SI imbriqués
Vous l'avez peut-être constaté par vous-mêmes mais les développeurs de Microsoft ont limité le nombre des fonctions SI que vous pouvez imbriquer. Jusqu'à la version Excel 2003, ce maximum était de 7. À partir de Excel 2007, cette limite a été relevée à 64 mais, soyons réalistes, ce chiffre est purement théorique car en pratique une telle formule serait inutilisable! Même si on considère uniquement la limite de 7 fonctions (pour garantir la compatibilité avec Excel 2003), ce chiffre est, à mon avis, plus suffisant pour la grande majorité d'utilisateurs d'Excel.

Si vous voulez vraiment utiliser plus de 7 imbrication de la fonction SI, vous trouverez le mode d'emploi ici. Cependant, je le déconseille vivement pour deux raisons:

une telle fonction aura un impact considérable sur la performance (surtout si la formule est utilisée x-fois)
cette fonction sera presque illisible et très difficilement modifiable. Il y a de fortes chances que vous allez vous perdre dans toutes ces parenthèses…

Aucun commentaire:

Enregistrer un commentaire

Adbox