Maîtriser la fonction SI avec plusieurs conditions sur Excel
La fonction SI est un outil puissant d'Excel qui permet d'effectuer des tests logiques et de renvoyer différentes valeurs en fonction du résultat. Cependant, les situations réelles exigent souvent de prendre en compte plusieurs conditions. Dans cet article, nous allons explorer les différentes manières d'utiliser la fonction SI avec plusieurs conditions, en utilisant des fonctions imbriquées et des alternatives plus performantes.
Qu'est-ce que la fonction SI ?
Avant de plonger dans les complexités des conditions multiples, rappelons brièvement le fonctionnement de base de la fonction SI. Sa syntaxe est la suivante :
=SI(test_logique, valeur_si_vrai, valeur_si_faux)
test_logique: Une expression qui évalue à VRAI ou FAUX.valeur_si_vrai: La valeur renvoyée si letest_logiqueest VRAI.valeur_si_faux: La valeur renvoyée si letest_logiqueest FAUX.
Par exemple, =SI(A1>10, "Supérieur à 10", "Inférieur ou égal à 10") renvoie "Supérieur à 10" si la valeur dans la cellule A1 est supérieure à 10, et "Inférieur ou égal à 10" sinon.
Imbriquer les fonctions SI
La méthode la plus simple pour gérer plusieurs conditions est d'imbriquer les fonctions SI. Cela signifie placer une fonction SI à l'intérieur d'une autre, dans la partie valeur_si_faux. Voici un exemple :
=SI(A1>90, "A", SI(A1>80, "B", SI(A1>70, "C", "D")))
Dans cet exemple, Excel évalue d'abord si A1 est supérieur à 90. Si c'est le cas, il renvoie "A". Sinon, il évalue si A1 est supérieur à 80, et ainsi de suite. Si aucune des conditions n'est vraie, il renvoie "D".
Exemple pratique : Attribution de notes
Supposons que vous ayez une liste de scores d'étudiants dans la colonne A et que vous souhaitiez attribuer des notes en fonction de ces scores. Vous pouvez utiliser la formule suivante :
=SI(A1>=90, "A", SI(A1>=80, "B", SI(A1>=70, "C", SI(A1>=60, "D", "F"))))
Cette formule attribue les notes suivantes :
- A : Score >= 90
- B : Score >= 80 et < 90
- C : Score >= 70 et < 80
- D : Score >= 60 et < 70
- F : Score < 60
Conseils pour l'imbrication des fonctions SI :
- Limitez le nombre d'imbrications : Excel autorise un certain nombre d'imbrications (64 dans les versions récentes), mais il est préférable de ne pas en abuser. Plus la formule est imbriquée, plus elle devient difficile à lire et à déboguer.
- Utilisez une indentation pour améliorer la lisibilité : Bien qu'Excel ignore les espaces, vous pouvez indenter la formule pour la rendre plus facile à comprendre. Par exemple :
=SI(A1>=90,
"A",
SI(A1>=80,
"B",
SI(A1>=70,
"C",
SI(A1>=60,
"D",
"F"
)
)
)
)
- Testez votre formule minutieusement : Assurez-vous que votre formule fonctionne correctement pour toutes les valeurs possibles.
Erreurs courantes à éviter :
- Oublier de fermer les parenthèses : Chaque fonction SI ouverte doit être fermée par une parenthèse fermante.
- Utiliser des opérateurs logiques incorrects : Assurez-vous d'utiliser les opérateurs logiques appropriés (>, <, >=, <=, =, <>) pour comparer les valeurs.
- Ne pas tenir compte de tous les cas possibles : Vérifiez que votre formule couvre tous les scénarios possibles.
Utiliser les fonctions ET et OU
Les fonctions ET et OU permettent de combiner plusieurs conditions dans un seul test logique. La fonction ET renvoie VRAI si toutes les conditions sont vraies, tandis que la fonction OU renvoie VRAI si au moins une des conditions est vraie.
Syntaxe :
ET(condition1, condition2, ...)OU(condition1, condition2, ...)
Exemple : Vérifier si un nombre est compris entre deux valeurs
Pour vérifier si la valeur dans la cellule A1 est comprise entre 10 et 20, vous pouvez utiliser la formule suivante :
=SI(ET(A1>=10, A1<=20), "Compris", "Non compris")
Exemple : Vérifier si au moins une des deux conditions est vraie
Pour vérifier si la valeur dans la cellule A1 est supérieure à 10 ou si la valeur dans la cellule B1 est inférieure à 5, vous pouvez utiliser la formule suivante :
=SI(OU(A1>10, B1<5), "Vrai", "Faux")
Exemple pratique : Offre spéciale
Supposons que vous souhaitiez offrir une réduction spéciale aux clients qui achètent plus de 100 € de produits et qui sont membres de votre programme de fidélité. Vous pouvez utiliser la formule suivante :
=SI(ET(B1>100, C1="Oui"), "Réduction applicable", "Pas de réduction")
Ici, B1 représente le montant des achats et C1 indique si le client est membre du programme de fidélité (avec la valeur "Oui" ou "Non").
Utiliser la fonction CHOISIR (pour un nombre limité de cas)
La fonction CHOISIR est utile lorsque vous avez un nombre limité de valeurs possibles pour une condition et que vous souhaitez renvoyer une valeur différente pour chaque cas. Elle est particulièrement adaptée quand il faut éviter d'imbriquer trop de SI. Sa syntaxe est :
=CHOISIR(index_num, valeur1, valeur2, ...)
index_num: Un nombre entre 1 et le nombre de valeurs. Il détermine quelle valeur sera renvoyée.valeur1, valeur2, ...: Les valeurs à renvoyer en fonction de l'index.
Exemple : Attribution de jours de la semaine
Si la cellule A1 contient un nombre entre 1 et 7 représentant un jour de la semaine, vous pouvez utiliser la formule suivante pour afficher le nom du jour correspondant :
=CHOISIR(A1, "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche")
Limitation : La fonction CHOISIR est moins flexible que la fonction SI car elle nécessite que l'index_num soit un nombre entier et que les valeurs soient prédéfinies. Elle n'est pas adaptée aux tests logiques complexes.
Utiliser les tables de correspondance (Lookup Tables) et RECHERCHEV/RECHERCHEH
Pour les situations avec de nombreuses conditions et des valeurs de retour complexes, l'utilisation de tables de correspondance (Lookup Tables) combinée avec les fonctions RECHERCHEV (recherche verticale) ou RECHERCHEH (recherche horizontale) est une approche beaucoup plus efficace et maintenable.
Principe :
- Créer une table de correspondance : Cette table contient les conditions possibles dans une colonne (ou ligne) et les valeurs correspondantes à renvoyer dans une autre colonne (ou ligne).
- Utiliser
RECHERCHEVouRECHERCHEH: Ces fonctions recherchent une valeur dans la première colonne (ou ligne) de la table de correspondance et renvoient la valeur correspondante d'une autre colonne (ou ligne).
Exemple pratique : Barème de commission
Supposons que vous ayez un barème de commission basé sur le chiffre d'affaires réalisé par un vendeur. Au lieu d'utiliser une longue série de fonctions SI imbriquées, vous pouvez créer une table de correspondance comme celle-ci :
| Chiffre d'affaires | Commission (%) | | 0 | 0 | | 1000 | 5 | | 5000 | 10 | | 10000 | 15 | | 20000 | 20 |
Si le chiffre d'affaires du vendeur se trouve dans la cellule A1, vous pouvez utiliser la formule suivante pour calculer sa commission :
=RECHERCHEV(A1, TableCommission, 2, VRAI)*A1
Où TableCommission est le nom de la plage de cellules contenant la table de correspondance. L'argument VRAI indique que la recherche est approximative, ce qui signifie que RECHERCHEV trouvera la valeur la plus proche inférieure ou égale à A1 dans la première colonne de la table.
Avantages des tables de correspondance :
- Lisibilité et maintenabilité : La formule est beaucoup plus courte et plus facile à comprendre que les fonctions
SIimbriquées. - Flexibilité : Il est facile de modifier le barème de commission en modifiant simplement les valeurs dans la table de correspondance, sans avoir à modifier la formule.
- Performance : Pour un grand nombre de conditions,
RECHERCHEVpeut être plus performante que lesSIimbriqués.
Conseils pour utiliser RECHERCHEV et RECHERCHEH :
- Assurez-vous que la première colonne (ou ligne) de votre table de correspondance est triée en ordre croissant.
- Utilisez des noms de plage pour rendre votre formule plus lisible et plus facile à maintenir.
- Utilisez l'argument
VRAIpour la recherche approximative si vous souhaitez trouver la valeur la plus proche inférieure ou égale à la valeur recherchée. - Utilisez l'argument
FAUXpour la recherche exacte si vous souhaitez trouver une correspondance exacte.
Conclusion
La fonction SI est un outil essentiel d'Excel, et sa maîtrise est cruciale pour automatiser des tâches complexes. En utilisant les techniques décrites dans cet article, vous pouvez gérer efficacement plusieurs conditions et créer des formules puissantes et lisibles. N'oubliez pas de choisir la méthode la plus appropriée en fonction de la complexité de votre problème et du nombre de conditions à prendre en compte. L'imbrication des fonctions SI est simple pour un petit nombre de conditions, mais les fonctions ET, OU, CHOISIR et les tables de correspondance offrent des alternatives plus performantes et plus maintenables pour les scénarios plus complexes. En pratiquant régulièrement, vous deviendrez un expert de la fonction SI et vous pourrez exploiter pleinement la puissance d'Excel.