Formule Excel SI plusieurs conditions : comment remplacer les SI imbriqués
Une formule Excel avec plusieurs conditions finit presque toujours de la même façon : une pile de SI imbriqués que plus personne n’ose toucher, pas même la personne qui l’a écrite. On ajoute un cas, on décale une parenthèse, et toute la colonne part en erreur. Si vous jonglez régulièrement avec des barèmes, des catégories ou des libellés à afficher selon une valeur, ce tutoriel est pour vous. On va remplacer ces empilements par deux fonctions nettement plus lisibles, SI.MULTIPLE et SI.CONDITIONS, sur un exemple volontairement simple : afficher un jour de la semaine à partir d’un chiffre de 1 à 7. À la fin, vous saurez laquelle des deux choisir selon que vos conditions portent sur une seule valeur ou sur des tests réellement différents.
Les points essentiels à retenir
- SI.MULTIPLE compare toujours la même expression et lui associe des paires valeur / résultat.
- Un dernier argument placé seul, sans valeur attendue avant lui, sert de résultat par défaut.
- SI.CONDITIONS enchaîne des tests logiques différents, avec une réponse par test.
- Quand aucun test n’est vrai, SI.CONDITIONS renvoie #N/A : prévoyez un cas final qui attrape le reste.
- Les deux fonctions reproduisent ce que faisait une cascade de SI, sans les parenthèses en fin de formule.
Pourquoi une cascade de SI imbriqués devient vite ingérable
Posons le décor. En colonne B, on a les chiffres de 1 à 7. En face, on veut afficher le jour correspondant : 1 pour lundi, 2 pour mardi, et ainsi de suite. Le réflexe classique consiste à ouvrir un SI, puis à glisser un second SI dans l’argument « valeur si faux », puis un troisième, et à continuer jusqu’au dimanche.
Concrètement, la formule commence comme ceci :
=SI(B2=1;"Lundi";SI(B2=2;"Mardi";SI(B2=3;"Mercredi"; ... )))
Le résultat fonctionne, mais regardez ce que ça coûte. Vous réécrivez la référence B2 à chaque niveau. Vous accumulez une parenthèse fermante par condition, toutes collées à la fin. Et surtout, six mois plus tard, personne ne sait dire d’un coup d’œil quel cas renvoie quoi. Pour sept jours c’est déjà pénible, pour une grille tarifaire à quinze paliers c’est un champ de mines.
C’est exactement ce que les deux fonctions suivantes viennent corriger : elles gardent la logique, elles suppriment l’empilement.
SI.MULTIPLE : une seule expression, autant de résultats que de cas
SI.MULTIPLE part d’un constat simple : dans l’exemple des jours, on teste sept fois la même cellule. Pourquoi la répéter sept fois ? La fonction vous demande donc l’expression une seule fois, puis la liste des valeurs possibles avec ce qu’il faut renvoyer pour chacune.
Sa structure, telle qu’Excel l’affiche dans l’info-bulle dès que vous ouvrez la parenthèse :
=SI.MULTIPLE(expression; valeur1; résultat1; [valeur2; résultat2]; ...)
Voici comment la construire pas à pas :
- Placez-vous dans la cellule qui doit afficher le libellé, ici D2.
- Saisissez
=SI.MULTIPLE(. L’info-bulle apparaît sous la barre de formule et vous rappelle l’ordre des arguments. - Cliquez sur B2 : c’est l’expression, le seul élément que vous ne répéterez plus.
- Enchaînez les paires, séparées par des points-virgules : la valeur attendue, puis le résultat à renvoyer.
- Fermez la parenthèse, validez, puis recopiez la formule vers le bas sur toute la colonne.
La formule complète pour les sept jours donne :
=SI.MULTIPLE(B2;1;"Lundi";2;"Mardi";3;"Mercredi";4;"Jeudi";5;"Vendredi";6;"Samedi";7;"Dimanche")
Comparez avec la version imbriquée : plus de parenthèses en cascade, plus de B2 répété, et la correspondance entre un chiffre et son libellé se lit sur une seule ligne. Ajouter un cas revient à insérer deux arguments de plus, sans toucher au reste.
Petite précision sur l’exemple : les jours de la semaine servent ici de support pédagogique parce que la correspondance est évidente. Excel propose des moyens plus directs d’obtenir un nom de jour à partir d’une date. Ce qui nous intéresse, c’est le mécanisme, transposable à des codes produits, des notes, des services ou n’importe quelle table de correspondance.
Ajouter un cas « Autre » pour couvrir les valeurs imprévues
Testez la formule avec une valeur qui n’est pas prévue, un 8 par exemple. Rien ne fonctionne : SI.MULTIPLE ne trouve aucune correspondance et ne sait pas quoi renvoyer. Dans un fichier partagé, où quelqu’un finira par saisir une valeur hors liste, c’est une erreur assurée.
La parade tient en un argument. À la toute fin, après votre dernière paire, ajoutez une valeur seule, sans indiquer avant elle la valeur attendue. Excel comprend qu’il s’agit du résultat par défaut, celui qui s’affiche dans tous les cas non listés :
=SI.MULTIPLE(B2;1;"Lundi";2;"Mardi";3;"Mercredi";4;"Jeudi";5;"Vendredi";6;"Samedi";7;"Dimanche";"Autre")
Le 8 affiche désormais « Autre » au lieu de bloquer. C’est le réflexe à prendre systématiquement : une table de correspondance sans cas par défaut, c’est une formule qui attend son premier accident.
SI.MULTIPLE a toutefois une limite structurelle. L’expression évaluée reste la même du début à la fin de la formule, toujours B2 dans notre exemple. Tant que vos conditions se résument à « telle cellule vaut telle valeur », c’est parfait. Dès que vous voulez comparer, croiser ou changer de cellule, il faut passer à la seconde fonction.
SI.CONDITIONS : un test différent à chaque cas
Admettons qu’on ne veuille plus lister chaque jour, mais distinguer la semaine du week-end. Avec SI.MULTIPLE, il faudrait écrire deux cas séparés pour le samedi et le dimanche. Avec SI.CONDITIONS, un seul test suffit : B2>5.
La logique change complètement. Ici, vous ne fournissez plus des valeurs attendues mais des tests logiques, chacun suivi de sa réponse :
=SI.CONDITIONS(test1; valeur_si_vrai1; [test2; valeur_si_vrai2]; ...)
Sur notre feuille, cela donne par exemple :
=SI.CONDITIONS(B2=1;"Lundi";B2=2;"Mardi";B2>5;"We")
Les deux premiers tests utilisent l’égalité, le troisième un opérateur de comparaison. C’est toute la différence : chaque condition est réécrite en entier, donc chaque condition peut être de nature différente. Rien ne vous oblige à interroger la même cellule d’un test à l’autre.
Excel évalue les tests dans l’ordre où vous les écrivez et s’arrête au premier qui est vrai. Cet ordre n’est donc pas décoratif : il définit vos priorités.
Combiner des tests de nature différente dans une seule formule
C’est là que SI.CONDITIONS montre ce qu’elle sait faire. Reprenons la feuille et demandons-lui deux choses à la fois : signaler les week-ends, et pour les autres jours, indiquer si le chiffre est pair ou impair. Deux questions qui n’ont rien à voir, dans une seule formule.
On enchaîne trois tests :
B2>5attrape le samedi et le dimanche, et renvoie « We ».MOD(B2;2)=0vérifie que le reste de la division par 2 vaut zéro, donc que le chiffre est pair.MOD(B2;2)=1couvre le cas restant, les impairs.
Assemblés, ils donnent :
=SI.CONDITIONS(B2>5;"We";MOD(B2;2)=0;"Pair";MOD(B2;2)=1;"impair")
Recopiez vers le bas et regardez la colonne : les jours 6 et 7 affichent « We », les autres alternent entre pair et impair. Notez bien pourquoi le test du week-end est placé en premier. Le samedi est un chiffre pair : si le test de parité venait avant, il renverrait « Pair » et le week-end ne serait jamais détecté. Chez SI.CONDITIONS, l’ordre fait la règle.
Vous pouvez reproduire de cette manière tout ce que faisait une pile de SI imbriqués, en gardant une formule qui se lit de gauche à droite.
SI.MULTIPLE ou SI.CONDITIONS : comment trancher
La question à se poser est toujours la même : est-ce que je teste toujours la même chose ?
| Critère | SI.MULTIPLE | SI.CONDITIONS |
|---|---|---|
| Ce que vous fournissez | Une expression, puis des valeurs attendues | Un test logique complet par cas |
| Élément testé | Toujours le même | Différent à chaque cas si besoin |
| Opérateurs de comparaison | Non, uniquement des correspondances exactes | Oui, supérieur, inférieur, calculs |
| Valeur par défaut | Un dernier argument seul | Un test final toujours vrai à prévoir |
| Cas d’usage type | Table de correspondance, codes, libellés | Barèmes, seuils, règles croisées |
En pratique, beaucoup de fichiers utilisent les deux : SI.MULTIPLE pour traduire des codes en libellés, SI.CONDITIONS pour tout ce qui relève du seuil ou de la règle métier. Et si votre table de correspondance doit ensuite sortir d’Excel, par exemple pour alimenter une page web ou une application, l’export en Excel vers JSON évite de retaper la liste à la main.
Erreurs fréquentes à éviter
Le #N/A qui apparaît sans prévenir. Avec SI.CONDITIONS, si aucun test n’est vrai pour une ligne, la cellule renvoie #N/A. Sur la capture ci-dessous, les jours 3, 4 et 5 ne correspondent à aucun des tests écrits, et l’erreur s’affiche en clair. Ce n’est pas un bug, c’est la fonction qui vous signale un trou dans votre logique.
Confondre valeur et test. C’est la confusion la plus courante entre les deux fonctions. SI.MULTIPLE attend des valeurs attendues, SI.CONDITIONS attend des tests logiques complets. Écrire un test dans SI.MULTIPLE, ou une simple valeur dans SI.CONDITIONS, ne produit pas le résultat espéré.
Oublier le filet de sécurité. Un cas par défaut dans SI.MULTIPLE, un test final large dans SI.CONDITIONS : dans les deux cas, prévoyez ce qui doit s’afficher quand la valeur sort de vos prévisions.
Se tromper de séparateur. Les formules ci-dessus utilisent le point-virgule. Si votre configuration attend la virgule, Excel refusera la formule tant que vous n’aurez pas ajusté.
Ranger ses tests dans le mauvais ordre. On l’a vu avec le week-end : le premier test vrai gagne, donc le cas le plus spécifique se place en premier et le plus général en dernier.
Questions fréquentes
Peut-on remplacer tous les SI imbriqués par ces deux fonctions ?
Pour les enchaînements de conditions qui se suivent, oui. SI.CONDITIONS reproduit ce que faisait la cascade de SI en gardant une formule lisible, et SI.MULTIPLE couvre le cas particulier où l’on interroge toujours la même cellule. L’objectif reste le même : obtenir le bon résultat sans empiler les parenthèses.
Combien de conditions peut-on enchaîner ?
Assez pour couvrir les besoins courants : dans l’exemple, sept jours plus un cas par défaut tiennent dans une seule formule sans difficulté. Le vrai frein n’est pas la limite technique mais la lisibilité. Passé une quinzaine de cas, une table de correspondance dans une feuille dédiée sera plus facile à maintenir.
Pourquoi ma formule renvoie #N/A alors que la valeur existe ?
Avec SI.CONDITIONS, #N/A signifie qu’aucun test n’a renvoyé vrai pour cette ligne. Vérifiez d’abord que la valeur est bien du type attendu : un chiffre saisi comme texte ne satisfera pas un test numérique. Ensuite, assurez-vous que vos tests couvrent toute la plage de valeurs possibles.
Ces fonctions existent-elles dans toutes les versions d’Excel ?
Elles font partie des fonctions récentes. Le test le plus simple : commencez à taper le nom dans une cellule. S’il apparaît dans la liste d’autocomplétion, votre version les prend en charge. Sinon, il faudra rester sur les SI imbriqués ou passer par une table de correspondance.
Votre table de correspondance est prête ?
Transformez votre tableau Excel en image nette, prête à coller dans une documentation ou un support de formation.
Quiz : avez-vous tout retenu ?
1. Dans SI.MULTIPLE, que teste la fonction à chaque cas ?
2. Comment définit-on une valeur par défaut avec SI.MULTIPLE ?
3. Quelle fonction accepte un test différent pour chaque cas ?
4. Qu’affiche SI.CONDITIONS quand aucun de ses tests n’est vrai ?
5. Dans l’exemple, quelle fonction sert à distinguer les nombres pairs des impairs ?
6. Pourquoi placer le test du week-end avant celui de la parité ?
Vous avez maintenant deux outils pour écrire une formule Excel gérant plusieurs conditions sans sacrifier la lisibilité : SI.MULTIPLE quand vous traduisez une même valeur en libellés, SI.CONDITIONS quand vos règles changent de nature d’un cas à l’autre. Le meilleur test reste de reprendre votre fichier le plus tordu, de repérer la formule que vous redoutez de modifier, et de la réécrire avec la fonction adaptée. Si le résultat se lit à voix haute sans que vous perdiez le fil, c’est gagné. Et pour documenter la logique de vos formules à côté du tableau, un passage par le convertisseur Word vers HTML vous donnera une page propre à publier ou à partager avec votre équipe.