Menu

SI imbriqués Excel : formule SI avec plusieurs conditions

=SI(B2>=90;"A";SI(B2>=80;"B";SI(B2>=70;"C";"F"))) place un SI dans un autre pour choisir entre plus de deux résultats. Comment se lit un SI imbriqué, pourquoi l'ordre des conditions compte, et quand SI.CONDITIONS ou une table de recherche conviennent mieux.

Chaque feuille de cette page est interactive : modifiez un nombre ou une formule et elle se recalcule.

Un SI imbriqué est un SI à l'intérieur d'un autre SI, utilisé quand il y a plus de deux résultats possibles. =SI(B2>=90;"A";SI(B2>=80;"B";SI(B2>=70;"C";"F"))) donne un A pour 90 ou plus, un B de 80 à 89, un C de 70 à 79 et un F en dessous de 70. SI s'appelle IF dans un Excel anglais, et le tableau montre la formule sous cette forme ; vous pouvez aussi y taper les formules en français, avec des points-virgules.

Notes à partir des scores
C2
ABC
1StudentScoreGrade
2Ana94A
3Ben81B
4Chloe70C
5Dan65F
6Eve88B
7Finn90A
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =SI(B2>=90;"A";SI(B2>=80;"B";SI(B2>=70;"C";"F")))

Cliquez sur C2 et regardez la barre de formule : trois fonctions SI, trois parenthèses fermantes à la fin. Passez la note de Dan en B5 à 75 et sa lettre passe de F à C.

Comment se lit un SI imbriqué

Excel lit la formule depuis le début et s'arrête au premier test qui est VRAI :

=IF(B2>=90, "A",
   IF(B2>=80, "B",
      IF(B2>=70, "C",
         "F")))
  1. La note vaut-elle 90 ou plus ? Alors A, et rien d'autre n'est vérifié.
  2. Sinon, vaut-elle 80 ou plus ? Alors B. Ce test n'a pas besoin de préciser "et moins de 90", car une note de 90 ou plus ne l'atteint jamais.
  3. Sinon, vaut-elle 70 ou plus ? Alors C.
  4. Sinon F, la valeur_si_faux du dernier SI.

Chaque SI intérieur occupe la place de valeur_si_faux du précédent. Excel accepte jusqu'à 64 niveaux, mais une formule de plus de quatre ou cinq est difficile à vérifier à l'œil. Excel accepte les retours à la ligne dans une formule : vous pouvez donc présenter une longue formule ainsi dans la barre de formule, en appuyant sur Alt+Entrée (Windows) ou Ctrl+Option+Retour (Mac) avant chaque SI.

Pourquoi l'ordre des conditions compte

Comme Excel s'arrête au premier test VRAI, les seuils doivent aller du plus haut au plus bas quand vous utilisez >=. La colonne D contient les trois mêmes tests dans l'ordre inverse :

Les mêmes tests, dans le mauvais ordre
D2
ABCD
1StudentScoreRight orderWrong order
2Ana94AC
3Ben81BC
4Chloe70CC
5Dan65FF
6Eve88BC
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =SI(B2>=70;"C";SI(B2>=80;"B";SI(B2>=90;"A";"F")))

Dans la colonne D, tous ceux qui ont 70 ou plus reçoivent un C : une note de 94 passe le premier test, B2>=70, et les tests de B et de A ne sont jamais atteints. Si vous préférez commencer par la tranche la plus basse, inversez les opérateurs : =SI(B2<70;"F";SI(B2<80;"C";SI(B2<90;"B";"A"))) donne les mêmes notes que la colonne C.

SI imbriqués avec du texte

Les tests peuvent aussi comparer du texte. Ici, les frais de livraison dépendent de la région, et toute région non citée reçoit la dernière valeur :

Frais de livraison par région
C2
ABC
1OrderRegionFee
21001North$5.00
31002South$7.00
41003West$9.00
51004East$6.00
61005Islands$9.00
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =SI(B2="North";5;SI(B2="South";7;SI(B2="East";6;9)))

West et Islands ne correspondent à aucun des trois tests et reçoivent la valeur finale, $9.00. Quand chaque test compare la même cellule à une valeur fixe, comme ici, SI.MULTIPLE (SWITCH en anglais) écrit la même règle en citant chaque région une seule fois : =SI.MULTIPLE(B2;"North";5;"South";7;"East";6;9). Voir la page SI.MULTIPLE.

SI imbriqués avec ET

Un SI imbriqué peut combiner ses niveaux avec ET ou OU quand une tranche dépend de deux cellules. Un commercial avec des ventes de 2 000 ou plus et au moins 3 ans d'ancienneté reçoit 10 %, tout autre commercial au-dessus de 2 000 reçoit 5 %, et les autres rien :

Taux de commission
D2
ABCD
1RepSalesYearsRate
2Ana2400410%
3Ben210015%
4Chloe150060%
5Dan3000310%
6Eve90020%
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =SI(ET(B2>=2000;C2>=3);10%;SI(B2>=2000;5%;0))

Ana et Dan ont droit à 10 %, Ben a les ventes mais pas l'ancienneté et reçoit 5 %, et Chloe et Eve reçoivent 0 %. L'ordre compte ici aussi : le test le plus strict vient en premier. En français, la formule s'écrit =SI(ET(B2>=2000;C2>=3);10%;SI(B2>=2000;5%;0)).

SI.CONDITIONS : la même chose sans imbrication

Dans Excel 2019, Excel 2021 et Microsoft 365, SI.CONDITIONS (IFS en anglais) prend les tests et les résultats par paires, sans SI intérieur et avec une seule parenthèse fermante. TRUE (VRAI) comme dernier test joue le rôle de "tout le reste" :

=IFS(B2>=90,"A",B2>=80,"B",B2>=70,"C",TRUE,"F")

Dans un Excel français : =SI.CONDITIONS(B2>=90;"A";B2>=80;"B";B2>=70;"C";VRAI;"F"). La fonction lit les conditions dans le même ordre et s'arrête à la première qui est VRAI, donc la règle d'ordre ci-dessus s'applique toujours. La page SI.CONDITIONS la présente, y compris l'erreur #N/A qu'elle renvoie quand aucun test ne correspond. Dans Excel 2016 et versions antérieures, SI.CONDITIONS n'existe pas, et un fichier qui l'utilise y affiche #NOM? (en anglais #NAME?).

Exercice : une commission à trois tranches

Commission
C2
ABC
1RepSalesCommission
2Ana$6,200
3Ben$2,400
4Chloe$600
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.

À vous : En C2, versez 10 % des ventes de B2 quand elles atteignent 5000 ou plus, 5 % quand elles atteignent 1000 ou plus, et 0 sinon. La formule est recopiée jusqu'à C4.

Une table de recherche au lieu de nombreux SI

Quand les tranches sont des nombres et qu'il y en a plus de trois ou quatre, gardez les seuils dans un petit tableau et faites une recherche. Le tableau est trié du seuil le plus bas au plus haut, et la correspondance approximative (TRUE, VRAI, comme dernier argument) renvoie la ligne du plus grand seuil qui ne dépasse pas la note :

Notes à partir d'une table de tranches
C2
ABCDEF
1StudentScoreGradeMin scoreGrade
2Ana94A0F
3Ben81B70C
4Chloe70C80B
5Dan65F90A
6Eve88B
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =RECHERCHEV(B2;$E$2:$F$5;2;VRAI)

Les résultats sont ceux du SI imbriqué en haut de la page. En français, la formule de C2 s'écrit =RECHERCHEV(B2;$E$2:$F$5;2;VRAI) (RECHERCHEV est VLOOKUP en anglais). Pour faire passer la tranche B à 85, remplacez E4 par 85 : aucune formule ne change, et toutes les notes se mettent à jour. Avec RECHERCHEX (XLOOKUP en anglais), la même recherche s'écrit =RECHERCHEX(B2;$E$2:$E$5;$F$2:$F$5;;-1), où -1 signifie "correspondance exacte ou valeur immédiatement inférieure" ; le tableau n'a alors pas besoin d'être trié.

À vous : la table des tranches est prête, écrivez la recherche.

Note avec RECHERCHEV
C2
ABCDEF
1StudentScoreGradeMin scoreGrade
2Ana860F
370C
480B
590A
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.

À vous : En C2, renvoyez la note correspondant au score de B2 à partir de la table des tranches en E2:F5.

Questions fréquentes

Comment écrire plusieurs SI dans une formule Excel ?

Placez le SI suivant dans l'argument valeur_si_faux du précédent : =SI(B2>=90;"A";SI(B2>=80;"B";SI(B2>=70;"C";"F"))). Excel teste les conditions de la première à la dernière et s'arrête à la première qui est VRAI.

Combien de fonctions SI peut-on imbriquer dans Excel ?

Jusqu'à 64 niveaux dans Excel 2007 et versions ultérieures. Bien avant cette limite, une formule devient difficile à lire et à vérifier ; au-delà de trois ou quatre tranches, une table de recherche avec RECHERCHEV ou RECHERCHEX en correspondance approximative est plus facile à maintenir.

Pourquoi mon SI imbriqué renvoie-t-il un mauvais résultat ?

En général parce que les conditions sont dans le mauvais ordre. Avec des tests >=, commencez par le seuil le plus haut : si B2>=70 vient en premier, une note de 95 s'arrête là et reçoit le résultat de la tranche 70.

Que peut-on utiliser à la place des SI imbriqués dans Excel ?

SI.CONDITIONS dans Excel 2019 et versions ultérieures (=SI.CONDITIONS(B2>=90;"A";B2>=80;"B";VRAI;"F")), SI.MULTIPLE quand vous comparez une valeur à des valeurs fixes, et une table de recherche avec =RECHERCHEV(B2;$E$2:$F$5;2;VRAI) pour des tranches numériques.

Illustration des langages de programmation de Coddy

Apprendre à coder avec Coddy

COMMENCER