🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

Fonctions IFS et SWITCH dans Excel — La logique à plusieurs branches sans la pyramide de IF imbriqués

|

Fonctions IFS et SWITCH dans Excel — La logique à plusieurs branches sans la pyramide de IF imbriqués

L'essentielIFS remplace 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 par TRUE, défaut pour 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. SWITCH est 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 : IFS est une liste de contrôle, SWITCH un 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 par TRUE.
  • 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. Un SWITCH à 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