Retour aux fonctions

SWITCH

Teste une expression par rapport à une liste de cas et renvoie la valeur correspondant au premier cas correspondant, avec une valeur par défaut facultative si aucun cas ne correspond.

LogicalSWITCH(expression, case1, value1, [default or case2, value2], …)

SWITCH (SI.MULTIPLE dans un Google Sheets en français) compare une expression à une liste de valeurs possibles et renvoie le résultat associé à la première correspondance exacte, avec une valeur par défaut facultative. C'est la façon la plus propre de traduire des codes en libellés, comme des codes pays en noms ou des numéros de statut en mots.

Syntaxe

=SWITCH(expression, case1, value1, [case2, value2, ...], [default])
  • expression : La valeur ou la formule à tester.
  • case1 : La première valeur à comparer à expression.
  • value1 : Le résultat quand expression est égale à case1.
  • case2, value2, ... [Facultatif] : D'autres paires cas/résultat, vérifiées dans l'ordre.
  • default [Facultatif] : Un dernier argument sans cas devant lui, renvoyé quand rien ne correspond. Il doit être le dernier argument.

SWITCH ne vérifie que l'égalité exacte. Elle ne peut pas tester des plages ni des comparaisons comme > 10 ; utilisez IFS pour cela.

Exemple de base

Transformer un code de statut en A2 en texte :

=SWITCH(A2, 1, "Ouvert", 2, "En cours", 3, "Fermé", "Inconnu")

Si A2 vaut 2, le résultat est En cours. S'il vaut 7, le résultat est Inconnu, la valeur par défaut.

Sans valeur par défaut, une absence de correspondance renvoie #N/A :

=SWITCH(A2, 1, "Ouvert", 2, "En cours", 3, "Fermé")

Cas de texte

=SWITCH(B2, "US", "États-Unis", "UK", "Royaume-Uni", "FR", "France", "Autre")

La comparaison ne tient pas compte de la casse pour le texte : "us" correspond à "US".

La formule SWITCH(TRUE, ...)

Vous pouvez obtenir des tests de type plage en faisant porter SWITCH sur TRUE et en utilisant des conditions comme cas. La première condition qui s'évalue à TRUE l'emporte :

=SWITCH(TRUE, A1 >= 90, "A", A1 >= 80, "B", A1 >= 70, "C", "F")

Cela fonctionne comme IFS. C'est utile quand on veut garder une structure SWITCH et une valeur par défaut sans avoir besoin de TRUE, "défaut" à la fin.

Formules pratiques

Convertir des numéros de jour en noms

=SWITCH(WEEKDAY(A2), 1, "Dimanche", 2, "Lundi", 3, "Mardi", 4, "Mercredi", 5, "Jeudi", 6, "Vendredi", 7, "Samedi")

(Pour celle-ci, TEXT(A2, "dddd") est plus courte.)

Calculer des valeurs différentes selon le cas

Les résultats peuvent être des calculs :

=SWITCH(C2, "Or", B2 * 0.8, "Argent", B2 * 0.9, B2)

Les clients Or paient 80 %, les clients Argent 90 %, tous les autres le plein tarif.

Remplir une colonne

=ARRAYFORMULA(SWITCH(A2:A, 1, "Ouvert", 2, "En cours", 3, "Fermé", ""))

Comparer à des valeurs de cellules

Les cas peuvent aussi être des références de cellules :

=SWITCH(A2, E1, F1, E2, F2, E3, F3, "Aucun")

Pour des listes plus longues, placez plutôt la correspondance dans un tableau et utilisez XLOOKUP.

Erreurs courantes

  • #N/A : « Aucun cas ne correspond et aucune valeur par défaut n'est fournie ». Ajoutez une valeur par défaut finale.
  • Mauvais nombre d'arguments. Après l'expression, les arguments vont par paires cas/valeur, plus une unique valeur par défaut facultative à la fin. Un nombre pair d'arguments après l'expression signifie qu'il n'y a pas de valeur par défaut. Un nombre impair signifie que le dernier est la valeur par défaut.
  • Nombre contre texte. SWITCH(A2, 1, ...) ne correspondra pas au texte "1". Vérifiez que les types concordent.
  • Tentative d'utiliser > ou <. SWITCH(A1, >10, ...) est invalide. Utilisez SWITCH(TRUE, A1 > 10, ...) ou IFS.

SWITCH, IFS, IF imbriqués ou tableau de correspondance ?

  • SWITCH : une valeur comparée à plusieurs options exactes. La plus lisible pour associer des codes à des libellés.
  • IFS : des conditions différentes, y compris plages et comparaisons.
  • IF : un seul test, avec des IF imbriqués pour quelques cas de plus.
  • Tableau de correspondance (XLOOKUP ou VLOOKUP) : préférable quand il y a beaucoup de cas ou qu'ils changent souvent, car on modifie un tableau et non une formule.

Questions fréquentes

SWITCH tient-elle compte de la casse ? Non, pour les comparaisons de texte.

SWITCH peut-elle associer plusieurs valeurs à un même résultat ? Pas directement. Répétez le résultat pour chaque cas, ou utilisez IFS avec OR.

Y a-t-il une limite au nombre de cas ? Pas de limite pratique, mais un tableau de correspondance est préférable au-delà d'une dizaine.

Fonctions associées

  • IFS : Teste plusieurs conditions dans l'ordre.
  • IF : Un test, deux issues.
  • XLOOKUP : Cherche des valeurs dans un tableau de correspondance.
  • VLOOKUP : Recherche verticale dans un tableau.
  • CHOOSE : Choisit une valeur dans une liste d'après son numéro d'index.

Articles associés

Newsletter

Plus d'exemples sur SWITCH arrivent bientôt.

Nous préparons des mises à jour courtes et pratiques pour les utilisateurs avancés de Sheets.