SI, SI.CONDITIONS et SI.MULTIPLE : quelle fonction choisir ?
Excel propose trois fonctions pour les tests conditionnels : SI pour un test unique, SI.CONDITIONS pour remplacer les SI imbriqués, et SI.MULTIPLE pour comparer une même expression à plusieurs valeurs. Elles semblent proches mais répondent à des besoins très différents.
Vue d'ensemble des trois fonctions
Test binaire classique
Un test → deux issues (VRAI/FAUX)
=SI(test; si_vrai; si_faux)
Disponible depuis toujours. Imbriquable jusqu'à 64 niveaux.
Tests multiples en séquence
N tests différents → N résultats possibles
=SI.CONDITIONS(test1;val1; test2;val2; ...)
Disponible depuis Excel 2019 / 365. Remplace les SI imbriqués.
Une expression, plusieurs cas
1 expression comparée à N valeurs précises
=SI.MULTIPLE(expr; cas1;val1; cas2;val2; défaut)
Disponible depuis Excel 2019 / 365. Idéal pour les codes et statuts.
SI — le test binaire indémodable
SI évalue un test logique et renvoie une valeur si VRAI, une autre si FAUX. Il peut être imbriqué pour gérer plusieurs cas, mais au-delà de 3 niveaux la formule devient illisible.
=SI(A2>=10;"Reçu";"Ajourné")
=SI(A2>=16;"Mention TB";SI(A2>=14;"Mention B";SI(A2>=12;"Mention AB";"Passable")))
→ Lisible jusqu'à 3 niveaux, difficile au-delà
Quand utiliser SI : Un seul test avec deux issues. Ou des conditions imbriquées simples (2-3 niveaux maximum).
SI.CONDITIONS — adieu les SI imbriqués
SI.CONDITIONS liste les paires (test ; résultat) dans l'ordre. La première condition vraie détermine le résultat. Chaque test peut être totalement différent des autres.
=SI.CONDITIONS(
A2>=16; "Mention TB";
A2>=14; "Mention B";
A2>=12; "Mention AB";
A2>=10; "Passable";
VRAI; "Ajourné"
)
→ VRAI en fin de liste = cas par défaut
Si aucune condition n'est vraie et qu'il n'y a pas de cas par défaut (VRAI;"..."), SI.CONDITIONS renvoie#N/A. Ajoutez toujours unVRAI; valeur_défauten dernier.
SI.MULTIPLE — l'équivalent du switch/case
SI.MULTIPLE compare une seule expression à une liste de valeurs exactes. Parfait pour des codes, statuts ou identifiants où chaque valeur correspond à un libellé.
=SI.MULTIPLE(B2;
"A"; "Excellent";
"B"; "Bien";
"C"; "Passable";
"D"; "Insuffisant";
"Non classé" ← valeur par défaut (dernier argument sans paire)
)
=SI.MULTIPLE(JOURSEM(A2;2);
1;"Lundi"; 2;"Mardi"; 3;"Mercredi"; 4;"Jeudi";
5;"Vendredi"; 6;"Samedi"; 7;"Dimanche"
)
Chaque cas de SI.MULTIPLE est une égalité exacte — il est impossible d'écrire >10 comme cas. Pour des inégalités, utilisez SI.CONDITIONS.
Même scénario, trois approches
Catégoriser un montant de vente (A2) : < 500 = Bronze, 500–1999 = Argent, ≥ 2000 = Or.
— Avec SI imbriqué :
=SI(A2>=2000;"Or";SI(A2>=500;"Argent";"Bronze"))
— Avec SI.CONDITIONS :
=SI.CONDITIONS(A2>=2000;"Or"; A2>=500;"Argent"; VRAI;"Bronze")
— SI.MULTIPLE ne convient pas ici (les cas sont des inégalités, pas des valeurs exactes)
Autre scénario : convertir un code pays en libellé
— Avec SI imbriqué (illisible à 5 cas) :
=SI(A2="FR";"France";SI(A2="DE";"Allemagne";SI(A2="ES";"Espagne";SI(A2="IT";"Italie";"Autre"))))
— Avec SI.MULTIPLE (idéal ici) :
=SI.MULTIPLE(A2;"FR";"France";"DE";"Allemagne";"ES";"Espagne";"IT";"Italie";"Autre")
Tableau comparatif
| Critère | SI | SI.CONDITIONS | SI.MULTIPLE |
|---|---|---|---|
| Disponibilité | Toutes versions | 2019 / 365 | 2019 / 365 |
| Type de test | Test logique | Tests logiques variés | Égalité exacte uniquement |
| Nombre de cas | 2 (imbriqué : jusqu'à 64) | Jusqu'à 127 paires | Jusqu'à 126 paires |
| Lisibilité (multi-cas) | Mauvaise au-delà de 3 | Excellente | Excellente |
| Inégalités (>, <, >=) | Oui | Oui | Non |
| Valeur par défaut | si_faux | VRAI; valeur | Dernier argument sans paire |
| Cas d'usage idéal | Test simple | Tranches, niveaux, plages | Codes, statuts, identifiants |
Arbre de décision
- Vous avez un seul test (oui/non) ? → SI
- Vos conditions utilisent des inégalités (>, ≤, <>) ? → SI.CONDITIONS
- Vous comparez une seule cellule à plusieurs valeurs exactes (codes, statuts) ? → SI.MULTIPLE
- Vous êtes sur Excel 2016 ou antérieur ? → Uniquement SI imbriqué (ou CHOISIR pour les valeurs numériques consécutives)
Astuce : combiner SI.MULTIPLE avec JOURSEM ou MOIS
=SI.MULTIPLE(MOIS(A2);
1;"Janvier"; 2;"Février"; 3;"Mars"; 4;"Avril";
5;"Mai"; 6;"Juin"; 7;"Juillet"; 8;"Août";
9;"Septembre"; 10;"Octobre"; 11;"Novembre"; 12;"Décembre"
)
SI.MULTIPLE s'associe naturellement avec toutes les fonctions qui renvoient un entier connu à l'avance (JOURSEM, MOIS, ANNEE, SEMAINE…).
SIERREUR vs SI.NON.DISP → SOMME.SI vs SOMME.SI.ENS Fiche SI complète