L'essentiel —
IFSremplace une pile de IF imbriqués : il vérifie les conditions de haut en bas et renvoie la première qui est vraie —=IFS(test1, val1, test2, val2, …). Deux pièges causent presque tous les bugs de IFS. (1) Il n'y a pas de else intégré — si aucune condition ne correspond, IFS renvoie#N/A; terminez toujours parTRUE, défautpour attraper le reste. (2) La première correspondance l'emporte — ordonnez vos conditions de la plus restrictive à la moins restrictive, sinon un test large placé en tête avale tout ce qui suit.SWITCHest le frère qui compare une seule valeur à une liste fixe de cas (égalité exacte, pas de plages). Tous deux exigent Excel 2019 ou 365.
=IFS(B2>=90, "A", B2>=80, "B", B2>=70, "C", TRUE, "F")
=SWITCH(C2, "N", "North", "S", "South", "E", "East", "Unknown")
À l'instant où une décision a plus de deux résultats, un IF imbriqué commence à
se transformer en pyramide de parenthèses. IFS et SWITCH sont le remède — mais
chacun a un tranchant qui produit une réponse fausse silencieuse si vous ne le
connaissez pas. Ce guide ouvre sur le modèle mental de chacun, puis sur les deux
règles qui les gardent corrects.
Remarque : dans une interface Excel en français, ces fonctions s'appellent SI.CONDITIONS (IFS) et SI.MULTIPLE (SWITCH). Apparentées : IF = SI, IFERROR = SIERREUR, AND = ET, OR = OU, XLOOKUP = RECHERCHEX, TRUE = VRAI, FALSE = FAUX. Dans Excel en français, les codes d'erreur s'affichent #N/A, #REF!, #NOM?, #VALEUR!, #DIV/0!. Les formules ci-dessous utilisent les noms anglais — le comportement est identique.
Ce que vous allez apprendre
- Le modèle mental :
IFSest une liste de contrôle,SWITCHun standard téléphonique - Piège IFS n° 1 : il n'y a pas de
else— un défaut oublié renvoie#N/A - Piège IFS n° 2 : la première correspondance l'emporte, donc l'ordre des conditions est la logique
- Quand tendre la main vers
SWITCHà la place — et pourquoi il ne sait pas gérer les plages - Le jugement : IFS vs SWITCH vs une table de recherche
XLOOKUP
Le modèle mental : une liste de contrôle et un standard téléphonique
Ces deux fonctions résolvent des formes différentes du même problème « plus de deux résultats », et les nommer vous empêche d'utiliser l'une à la place de l'autre.
IFS est une liste de contrôle lue de haut en bas. Chaque paire dit « si
cette condition, alors cette valeur ». Excel descend la liste et s'arrête au
premier test qui est vrai :
' On descend la liste : le premier test vrai l'emporte
=IFS(B2>=90, "A", B2>=80, "B", B2>=70, "C", TRUE, "F")
SWITCH est un standard téléphonique pour une seule valeur. Vous lui confiez
une seule expression, puis une liste de cas ; il dirige vers le cas qui égale
cette valeur :
' Comparer C2 à des valeurs exactes
=SWITCH(C2, "N", "North", "S", "South", "Unknown")
La distinction est tout l'enjeu : IFS évalue un test booléen différent à
chaque ligne (parfait pour les plages et les conditions mixtes), tandis que
SWITCH compare une seule expression à plusieurs constantes (parfait pour
associer un code à un libellé). Choisissez le mauvais et vous passerez votre temps
à vous battre avec la fonction.
Piège IFS n° 1 : il n'y a pas de else — et la sanction est #N/A
C'est le bug n° 1 de IFS. Contrairement à IF, qui a toujours une branche fausse,
IFS n'a pas de else intégré. Si une ligne ne correspond à aucune de vos
conditions, IFS ne renvoie ni vide ni zéro — il renvoie l'erreur #N/A :
=IFS(B2>=90, "A", B2>=80, "B", B2>=70, "C") ' score 55 -> #N/A
=IFS(B2>=90, "A", B2>=80, "B", B2>=70, "C", TRUE, "F") ' score 55 -> "F"
Le remède est un idiome figé : terminez chaque IFS par TRUE, défaut. Parce
que TRUE est toujours vrai, c'est le fourre-tout qui se déclenche quand rien
au-dessus n'a correspondu — exactement ce que fait else dans d'autres langages.
Si vous voyez un jour un #N/A sortir d'un IFS, c'est que vous avez oublié la
ligne TRUE. Faites-en un réflexe : la dernière paire est toujours votre filet de
secours.
Piège IFS n° 2 : la première correspondance l'emporte, donc l'ordre est la logique
IFS renvoie la valeur du premier test vrai et ne regarde jamais plus loin.
Cela fait de l'ordre de vos conditions la logique réelle — et l'inverser échoue
silencieusement :
' MAUVAIS ordre — le test large est en premier, donc il attrape tout le monde
=IFS(B2>=70, "C", B2>=80, "B", B2>=90, "A", TRUE, "F")
' Un score de 95 est >=70, donc il renvoie "C" et s'arrête. Tout score élevé devient "C".
' BON ordre — la tranche la plus haute/restrictive d'abord
=IFS(B2>=90, "A", B2>=80, "B", B2>=70, "C", TRUE, "F")
Aucune erreur ici — juste des notes fausses qui paraissent plausibles jusqu'à ce que quelqu'un vérifie. La règle pour toute tranche ordonnée (scores, paliers, tranches d'âge, seuils de remise) est la même : énumérez de la plus restrictive à la moins restrictive. Quand vos conditions se chevauchent, la première l'emporte, donc le test le plus serré doit venir en premier ou il n'aura jamais son tour.
SWITCH : correspondances exactes, un défaut plus propre, et une chose qu'il ne sait pas faire
SWITCH brille quand vous associez une seule valeur à un libellé et que la
version en IF imbriqué ne ferait que répéter la même cellule encore et encore :
' IF imbriqué — répète C2 à chaque branche
=IF(C2="N","North", IF(C2="S","South", IF(C2="E","East","Unknown")))
' SWITCH — on dit C2 une seule fois
=SWITCH(C2, "N","North", "S","South", "E","East", "Unknown")
Notez le défaut : si SWITCH a un nombre d'arguments impair après
l'expression, le dernier est le filet de secours (ici, "Unknown") — pas besoin
de l'astuce TRUE. La limite dure à retenir : SWITCH ne fait que l'égalité
exacte. Il ne peut pas tester >, < ni une plage. Si vous essayez de faire
passer des tranches de notes par SWITCH, vous allez vous battre avec lui — c'est
le terrain de IFS. (Il existe une astuce SWITCH(TRUE, …) qui imite IFS, mais
si vous avez besoin de plages, utilisez simplement IFS et gardez-le lisible.)
Le jugement : IFS vs SWITCH vs une table de recherche
Trois formes, trois outils :
- Plages ou conditions mixtes (score ≥ 90, et région = West, ou indicateur
activé) →
IFS. Chaque test est son propre booléen ; ordonnez du plus restrictif d'abord ; terminez parTRUE. - Une valeur → un libellé, court et fixe (N/S/E/O, un code de statut) →
SWITCH. Correspondances exactes, valeur nommée une seule fois, défaut à la fin. - Une association longue, évolutive ou pilotée par le métier (produit → prix,
employé → responsable) → ne la codez pas en dur dans une formule du tout.
Mettez-la dans une table à deux colonnes et utilisez
XLOOKUP. UnSWITCHà 30 cas est un piège de maintenance ; une table de recherche est une donnée que n'importe qui peut modifier sans toucher à une formule.
L'erreur n'est pas de choisir IFS plutôt que SWITCH ou l'inverse — c'est de fourrer l'équivalent d'une table de recherche dans l'un ou l'autre. Plus l'association est grande et volatile, plus elle a sa place dans des cellules, pas dans de la syntaxe.
Comment ExcelMaster aide
La logique à plusieurs branches est l'endroit où les formules écrites à la main
deviennent fragiles : un défaut TRUE oublié, des tranches dans le mauvais ordre,
un SWITCH à 20 cas qui aurait dû être une recherche. ExcelMaster lit
l'intention — noter ces scores, de A à F ou associer chaque code à sa région —
et produit la bonne structure : un IFS ordonné avec un fourre-tout, un SWITCH
soigné, ou une table de recherche quand l'association a dépassé la formule. Vous
décrivez la règle ; il évite le #N/A silencieux et le piège de l'ordre.
Questions fréquentes
Pourquoi mon IFS renvoie-t-il #N/A ?
Aucune condition n'a correspondu et vous n'avez pas de fourre-tout. IFS n'a pas
de else intégré, donc une ligne sans correspondance renvoie #N/A. Terminez la
formule par TRUE, valeur_par_défaut — par exemple …, TRUE, "Other") — pour
gérer tout ce qui passe entre les mailles.
Quelle est la différence entre IFS et SWITCH ?
IFS évalue un test booléen distinct pour chaque cas, donc il gère les plages et
les conditions mixtes. SWITCH compare une seule expression à une liste de
valeurs exactes, donc il sert à associer une valeur à un libellé. Utilisez IFS
pour les >=/plages, SWITCH pour les correspondances exactes.
L'ordre des conditions a-t-il de l'importance dans IFS ?
Oui — IFS renvoie le premier test vrai et s'arrête. Pour des conditions qui se
chevauchent comme des tranches de scores, énumérez la plus haute/restrictive
d'abord ; sinon un test large en tête attrape des lignes destinées à une branche
ultérieure.
Comment ajouter une valeur par défaut dans SWITCH ?
Mettez-la comme argument final, sans cas correspondant avant elle. Si le nombre
d'arguments après l'expression est impair, le dernier est le défaut :
=SWITCH(C2, "N","North", "S","South", "Unknown").
IFS et SWITCH fonctionnent-ils dans Excel 2016 ?
Non. Tous deux ont été ajoutés dans Excel 2019 et figurent dans Microsoft 365.
Dans Excel 2016 ou antérieur, rabattez-vous sur un IF imbriqué ou une table de
recherche.
Testé dans
Testé dans : Excel 365 (Windows 11) — dernière vérification le 25/06/2026.
Guides associés : Excel IF · Excel IFERROR · Excel XLOOKUP · Excel SUMIFS
