Comprendre la logique IF ELSE IF dans Excel
La fonction SI (IF en anglais) est un pilier d'Excel. Elle permet d'effectuer un test logique et de renvoyer une valeur si le test est vrai, et une autre valeur si le test est faux. La structure IF ELSE IF étend cette logique en permettant de tester plusieurs conditions successivement. C'est comme poser une série de questions jusqu'à ce qu'une réponse corresponde.
Syntaxe de la fonction SI (IF)
La syntaxe de base de la fonction SI est la suivante :
=SI(test_logique; valeur_si_vrai; valeur_si_faux)
- test_logique : L'expression qui est évaluée comme VRAI ou FAUX.
- valeur_si_vrai : La valeur renvoyée si le test_logique est VRAI.
- valeur_si_faux : La valeur renvoyée si le test_logique est FAUX.
Implémenter IF ELSE IF avec des fonctions SI imbriquées
Excel ne possède pas une fonction IF ELSE IF dédiée comme certains langages de programmation. Cependant, on peut obtenir le même résultat en imbriquant plusieurs fonctions SI. L'idée est de placer une autre fonction SI dans la partie "valeur_si_faux" de la fonction SI principale.
Voici la structure générale :
=SI(test_logique1; valeur_si_vrai1; SI(test_logique2; valeur_si_vrai2; valeur_si_faux2))
Et ainsi de suite, pour autant de conditions que nécessaire.
Exemples pratiques d'utilisation de IF ELSE IF dans Excel
Exemple 1 : Notation d'étudiants
Supposons que vous ayez une colonne de notes d'étudiants (de 0 à 20) et que vous souhaitiez attribuer une mention en fonction de la note :
- Note >= 16 : Très bien
- Note >= 14 et < 16 : Bien
- Note >= 12 et < 14 : Assez bien
- Note >= 10 et < 12 : Passable
- Note < 10 : Échec
Si la note se trouve en cellule A1, la formule serait :
=SI(A1>=16;"Très bien";SI(A1>=14;"Bien";SI(A1>=12;"Assez bien";SI(A1>=10;"Passable";"Échec"))))
Explication :
- La première fonction
SIvérifie si la note (A1) est supérieure ou égale à 16. Si c'est le cas, elle renvoie "Très bien". - Si la première condition est fausse (A1 < 16), la deuxième fonction
SIest évaluée. Elle vérifie si A1 est supérieure ou égale à 14. Si c'est le cas, elle renvoie "Bien". - Ce processus se répète pour les autres conditions.
- Si aucune des conditions n'est vraie (A1 < 10), la dernière fonction
SIrenvoie "Échec".
Exemple 2 : Calcul de commissions
Imaginez que vous ayez une colonne de chiffres d'affaires et que vous souhaitiez calculer une commission en fonction des paliers suivants :
- Chiffre d'affaires < 1000€ : 0% de commission
- Chiffre d'affaires >= 1000€ et < 5000€ : 5% de commission
- Chiffre d'affaires >= 5000€ et < 10000€ : 7.5% de commission
- Chiffre d'affaires >= 10000€ : 10% de commission
Si le chiffre d'affaires se trouve en cellule B1, la formule serait :
=SI(B1<1000;0;SI(B1<5000;B1*0,05;SI(B1<10000;B1*0,075;B1*0,1)))
Explication :
- La première fonction
SIvérifie si le chiffre d'affaires (B1) est inférieur à 1000€. Si c'est le cas, elle renvoie 0 (0% de commission). - Si la première condition est fausse (B1 >= 1000), la deuxième fonction
SIest évaluée. Elle vérifie si B1 est inférieur à 5000€. Si c'est le cas, elle renvoie B1 multiplié par 0,05 (5% de commission). - Ce processus se répète pour les autres paliers.
- Si aucune des conditions n'est vraie (B1 >= 10000), la dernière fonction
SIrenvoie B1 multiplié par 0,1 (10% de commission).
Exemple 3 : Définition de prix en fonction de la quantité
Votre entreprise propose des réductions sur le prix unitaire d'un produit en fonction de la quantité commandée. Les paliers sont les suivants :
- 1 à 10 unités: 10€ par unité
- 11 à 50 unités: 9€ par unité
- 51 à 100 unités: 8€ par unité
- Plus de 100 unités: 7€ par unité
Si la quantité commandée se trouve en cellule C1, la formule sera :
=SI(C1<=10;C1*10;SI(C1<=50;C1*9;SI(C1<=100;C1*8;C1*7)))
Conseils et astuces pour optimiser vos formules IF ELSE IF
- Lisibilité : Pour améliorer la lisibilité des formules complexes, utilisez les sauts de ligne et l'indentation. Vous pouvez insérer un saut de ligne dans une formule en appuyant sur
Alt + Entrée. - Ordre des conditions : Pensez à l'ordre dans lequel vous placez les conditions. Placez les conditions les plus fréquentes en premier pour optimiser la performance.
- Utilisation de ET et OU : Vous pouvez combiner plusieurs conditions dans un seul test logique en utilisant les fonctions
ET(AND) etOU(OR).ET(condition1; condition2; ...): Renvoie VRAI si toutes les conditions sont VRAIES.OU(condition1; condition2; ...): Renvoie VRAI si au moins une des conditions est VRAIE.
- Fonction CHOISIR (CHOOSE) : Dans certains cas, la fonction
CHOISIRpeut être une alternative plus concise à une série deSIimbriqués, surtout si vous avez un nombre limité de valeurs possibles. - Évitez les erreurs #VALEUR! et #NOM? : Ces erreurs indiquent souvent une erreur de syntaxe dans votre formule. Vérifiez attentivement vos parenthèses, vos opérateurs et vos références de cellules.
- Tester vos formules : Testez toujours vos formules avec différentes valeurs pour vous assurer qu'elles fonctionnent correctement dans tous les cas de figure.
- Nommer les cellules et les plages : Pour plus de clarté, nommez les cellules ou les plages que vous utilisez fréquemment dans vos formules. Cela rendra vos formules plus faciles à comprendre et à maintenir.
Erreurs courantes à éviter avec IF ELSE IF
- Parenthèses manquantes ou mal placées : C'est une erreur très fréquente qui peut rendre votre formule complètement invalide. Vérifiez attentivement que chaque parenthèse ouvrante a sa parenthèse fermante correspondante.
- Mauvaise utilisation des opérateurs de comparaison : Assurez-vous d'utiliser les bons opérateurs de comparaison (=, <, >, <=, >=, <>) pour exprimer correctement vos conditions.
- Oublier les guillemets pour le texte : Si vous renvoyez du texte dans votre formule
SI, n'oubliez pas de l'encadrer avec des guillemets doubles ("). - Référence de cellule incorrecte : Vérifiez que vos références de cellules sont correctes, surtout si vous copiez et collez des formules.
- Conditions qui se chevauchent : Assurez-vous que vos conditions ne se chevauchent pas, sinon vous risquez d'obtenir des résultats inattendus.
Alternatives à IF ELSE IF
Bien que la structure IF ELSE IF soit très utile, il existe d'autres fonctions et techniques dans Excel qui peuvent être utilisées pour obtenir des résultats similaires, parfois de manière plus élégante ou plus efficace.
- RECHERCHEV et RECHERCHEH (VLOOKUP et HLOOKUP) : Ces fonctions permettent de rechercher une valeur dans un tableau et de renvoyer une valeur correspondante. Elles peuvent être utilisées pour remplacer une série de
SIimbriqués si vous avez une table de correspondance. - INDEX et EQUIV (INDEX and MATCH) : Ces fonctions combinées offrent une alternative plus flexible et plus puissante à
RECHERCHEVetRECHERCHEH. - CHOISIR (CHOOSE) : Comme mentionné précédemment, cette fonction peut être une alternative concise à une série de
SIimbriqués si vous avez un nombre limité de valeurs possibles. - SI.CONDITIONS (IFS) : Cette fonction, disponible dans les versions récentes d'Excel (Office 365 et Excel 2016 et versions ultérieures), simplifie l'écriture de conditions multiples en offrant une syntaxe plus claire et plus directe. Elle remplace avantageusement les
SIimbriqués. La syntaxe est :=SI.CONDITIONS(test_logique1; valeur_si_vrai1; test_logique2; valeur_si_vrai2; ...)
Conclusion
La structure IF ELSE IF, implémentée avec des fonctions SI imbriquées, est un outil puissant pour automatiser les décisions dans Excel. En comprenant sa logique et en appliquant les conseils et astuces présentés dans cet article, vous serez en mesure de créer des formules complexes et efficaces pour analyser vos données et simplifier vos tâches. N'hésitez pas à explorer les alternatives mentionnées pour trouver la solution la plus adaptée à vos besoins. Avec la pratique, vous maîtriserez l'art des fonctions conditionnelles et tirerez le meilleur parti d'Excel.