Apprenez à créer des SI imbriqués dans Excel pour gérer plusieurs conditions dans vos formules. Cet article explique les méthodes pour écrire des formules avancées avec des exemples comme la gestion de stock et les calculs par intervalles.
Méthodes pour faire des SI imbriqués
- Plusieurs SI dans la même formule : Méthode classique mais difficile à coder et à maintenir
- Fonction SI.CONDITIONS : Simple à utiliser, mais nécessite de gérer le dernier cas.
- Fonction SI.MULTIPLE : Inspirée de SWITCH en DAX, utile dans certains cas.
- Calculs entre intervalles avec RECHERCHEV ou RECHERCHEX : Meilleure option pour gérer des plages de données.
Méthode 1 : Ecrire plusieurs SI
La fonction SI retourne 2 résultats selon le résultat d'un test logique ; VRAI ou FAUX. Mais comment faire si nous cherchons à retourner plus de 2 résultats ? La méthode c'est d'écrire d'autres tests SI à la place du paramètre FAUX.

Prenons l'exemple d'une gestion de stocks. 3 cas sont à prendre en compte
- Augmentation du stock
- Baisse du stock
- Pas de changement
Nous allons commencer par créer un test logique qui va comparer le stock fin de mois avec le stock de début de mois.
=G2<D2

Maintenant, ce test va être écrit dans une fonction SI pour retourner non pas VRAI ou FAUX mais un écrire le mot Déstockage.
=SI(G2<D2;"Déstockage"; ........
Mais ici, nous ne pouvons pas terminer l'écriture de la fonction SI car nous devons traiter les deux cas suivant :
- le stock a augmenté
- le stock n'a pas changé
Pour la seconde fonction SI, nous allons écrire un second test. Ce test sera de tester si la quantité en fin de mois est supérieure à la quantité en stock en début de mois. La formule devient :
=SI(G2<D2;"Déstockage";SI(G2>D2;"Re-stockage";"Pas de changement"))

La fonction est constituée de 2 tests et de 3 résultats. Nous avons bien 2 SI imbriqués.
Méthode 2 : La fonction SI.CONDITIONS
Comme le S final de la fonction vous le fait deviner, la nouvelle fonction SI.CONDITIONS vous permet d'écrire toutes vos conditions les unes à la suite des autres. Et pour chacune d'elle, le résultat a afficher. L'écriture est la suivante
=SI.CONDITIONS(Test1;Résultat1;Test2;Résultat2;...)
A titre d'exemple, vous voulez attribuer une prime à vos vendeurs selon le nombre de voitures qu'ils ont vendu au cours du mois. Vous attribuez une prime de
- 20 % pour ceux qui ont vendu 20 voitures et plus
- 10 % pour ceux qui ont vendu 15 voitures
- 5 % pour ceux qui ont vendu 10 voitures
La formule s'écrit de la façon suivante :
=SI.CONDITIONS(B2>=20;20%;B2>=15;10%;B2>=10;5%)

Il y a cependant un piège à éviter. Si aucun test n'a été vérifié, la fonction va retourner l'erreur #N/A (qui signifie en anglais Not Applicable).
Autrement dit, il est indispensable de prévoir en dernier paramètre de votre formule une fonction VRAI qui va gérer les cas où aucun des précédents tests ne sont VRAI (ce point est précisé dans la vidéo).
L'écriture devient alors
=SI.CONDITIONS(B2>=20;20%;B2>=15;10%;B2>=10;5%;VRAI;"")

Méthode 3 : La fonction SI.MULTIPLE
Pour la fonction SI.MULTIPLE l'écriture est différente.
- Nous évaluons le résultat d'une cellule
- Selon la valeur, nous retournons les différents cas énumérés
Cette formule se comporte comme la fonction Select Case en VBA ou Switch dans d'autres langages informatiques.
Prenons l'exemple des jours de la semaine vous avez en cellule A1 une valeur qui va de 1 à 7 pour écrire le jour de la semaine correspondant nous allons écrire la formule suivante :
=SI.MULTIPLE(A1;1;"Lundi";2;"Mardi";3;"Mercredi";4;"Jeudi";5;"Vendredi";6;"Samedi";7;"Dimanche")

Mais très honnêtement, il est plus facile d'écrire le même résultat avec une fonction RECHERCHEV, ou RECHERCHEX
Méthode 4 : Calcul dans des intervalles
Là encore, un grand nombre d'utilisateurs construisent une formule Excel avec de nombreux SI imbriqués pour faire des calculs sur des intervalles. Mais dans ce cas précis, c'est encore les fonctions RECHERCHEV ou RECHERCHEX qui sont plus simples à utiliser

13/12/2024 @ 07:20
ma fromule fonctionne pas, j'arrive pas à comprendre le probleme priere de m'aider:
=SI.CONDITIONS(D13<=39;"Very low inclusion";D13<=59;"Low inclusion";D13=90;"High inclusion";"VRAI";" ")
03/05/2023 @ 14:39
J'ai une base de donnees avec une colonne "Domaine d'etudes" qui a beaucoup de propositions (Sante publique, Economie,....jusqu'a au moins 27 sortes de domaines. Avec Si imbriquee, l'excel ne me donne pas de reponse juste. Que faire?
28/06/2023 @ 10:29
Bonjour, J'aimerais que la date du jour apparait automatiquement dans la colonne à gauche si la colonne de droite possède n'importe quel texte
15/03/2023 @ 10:44
Bonjour,
Je n'arrive pas à terminer ma formule car il faut une troisième réponse.
=SI(ESTVIDE(B30);" ";SI(NB.SI(Script!B:B;Chargement!B30);"OK";"NON CHARGE"))
Il me faut rajouter que SI(B30 n'est pas égale à une des valeurs de la colonne);"ERREUR"
Quelqu'un peut m'éclaircir sur ce point svp ?
15/03/2023 @ 15:12
Bonjour, il faut utiliser la fonction SI.CONDITIONS, elle a été développé pour mettre plus de 2 résultats.
20/02/2023 @ 00:14
Bonjour
je marque dans ma cellule
=SI.CONDITIONS(L16>15%;1%;L16>30%;2%;L16>40%;3%;L16>50%;4%)
cependant le résultat m'affiche 1% alors que L16>50% et devrait m'afficher 4%
Y a t il une erreur dans la formule ?
merci
20/02/2023 @ 05:10
Dans ce genre de situation, il est plus simple d'utiliser la fonction RECHERCHEV ou bien RECHERCHEX
12/02/2023 @ 11:27
Bonjour
Je cherche à faire un tableau avec des placements irréguliers.
Comment fait-on le calcul avec des placements sur une année, sachant que les placements vont de 0€ à 100€.
Quelle est la formule pour faire le total avec ces placements.
Faut-il utiliser les conditions?
Merci de votre retour.
JP FLANDRINCK
16/01/2023 @ 13:33
Quelle formule dois-je utilisé pour Catégoriser mes clients selon leurs montants.
DÉTAILLANT : montant compris entre 0 et 1 000 000.
PARTICULIER : montant compris entre 1 000 001 et 4 000 000.
GROSSISTE : montant supérieur à 4 000 000.
16/01/2023 @ 20:18
Bonjour, le plus simple c'est d'utiliser la fonction RECHERCHEV ou RECHERCHEX pour faire un calcul entre 2 tranches
09/01/2023 @ 13:22
Bonjour , je ne sais pas comment faire pour comptabiliser en auto des heures de prestation
pour chaque heures prestées la case suivante doit me mettre 0.6 min comme heure à récupérer
ex colonne 1 8 heures .. colonne 2 : 0.6 x8
colonne 1 2 heures .. colonne 2 : 0.6 x2
24/05/2022 @ 09:31
Bonjour à tous,
je cherche une formule qui me permettrai d'indiquer une valeur selon que celle-ci se trouve dans une tranche horaire ou une période.
j'ai essayé
=SI.CONDITIONS(ET(I2>=$S$4;I2=$S$2;I2=$S$3;I2=$S$5;I2=$S$6;I2<=$T$6);$U$6)
mais cela m'indique que la valeur du U4,
j'ai 6 colonnes et 5 conditions
Date de début, date de fin, index, entre le, et le doit me donner l'index en vigueur
14/09/2021 31/01/2022 1.8476 01/04/2022 31/05/2022 ?
01/02/2022 31/03/2022 1.8114 01/02/2022 31/03/2022 ?
01/03/2022 30/06/2022 1,7758 01/10/2021 31/01/2022 ?
et ainsi de suite
Merci pour votre aide
23/05/2022 @ 11:19
Mon exemple que je ne parviens pas à résoudre
A B C D E
1 0,74 1,80
2 0,81 1,90
3 0,90 2,00
4 0,72
si A1,B1,C1,D1 est entre 0,70 et 0,80 alors la réponse est 1,80;
MAIS si A1,B1,C1,D1 est entre 0,81 et 0,89 la réponse est 1,90;
MAIS si A1,B1,C1,D1 est entre 0,90 et 0,96 la réponse est 2
Je n'arrive pas à adapter la formule.
Merci de votre attention
Françoise
28/10/2021 @ 17:19
Bonjour,
Merci 🙂
Pas convaincu non plus par le SI.MULTIPLE
d'autant que
=SI.MULTIPLE(A1;1;"Lundi";2;"Mardi";3;"Mercredi";4;"Jeudi";5;"Vendredi";6;"Samedi";7;"Dimanche")
pourrait s'écrire
=CHOISIR(A1;"Lundi";"Mardi";"Mercredi";"Jeudi";"Vendredi";"Samedi";"Dimanche")
ou
=NOMPROPRE(TEXTE("02/01/2000"+A1;"jjjj"))
sans compter les solutions basées sur les recherches, comme précisé dans l'article
28/10/2021 @ 17:39
Je suis d'accord que la fonction SI.MULTIPLE n'est pas la plus utile d'Excel. Mais elle existe. L'intérêt de cet article c'est de montrer toutes les fonctions existantes qui peuvent solutionner le problème. Après, libre à chacun d'utiliser la fonction qui lui plaît le plus.
03/08/2021 @ 10:31
Bonjour
Je recherche une formule de calcule précise
pour moi il s'agit d'une fonction Si, mais je n'arrive pas à la valider
pouvez-vous m'aider
voici les éléments
- je cherche à calculer une surcharge indexée sur le poids d'une marchandise
- le resultat de ce calcul (C21*0.087) doit être compris entre 12 et 120
j'ai tenté la formule en SI imbriqué ci-dessous mais j'ai reçu une message comme quoi il y avait trop de paramètres
=SI(C21*0.087120;120;C21*0.087))
j'ai aussi testé SI;CONDITIONS mais le résultat est supérieur à 120
=SI.CONDITIONS(C21*0,08712;C21*0,087;C21*0,087>=120;120)
pourriez-vous m'aider?
merci
29/07/2021 @ 17:15
bonjour, je ne sais pas si une formule existe pour ma demande....
je fais actuellement un questionnaire sur conditions de travail de salariés, j'ai transformé leurs réponses en tableau.
J'ai besoin de savoir si leur prise de poids est lié à leur rythme de travail.
comment faire?
01/04/2021 @ 11:56
bonjour,
je ne trouve pas sur votre site ma solution, c'est pour vérifier les votes d'une AG.
mon problème est:
c'est un vote avec article 24 et 25
selon le vote 24 ou 25 les pourcentages de votes ne sont pas les mêmes.
U5 présents
T6 = 24 ou 25 (article de vote)
X3 = tantièmes présents
AA= tantièmes minimum pour que le vote soit accepté art 24
AB=tantièmes minimun pour que vote soit accepté art 25.
si vous pouvez m'aider.
merci
05/02/2021 @ 19:34
Bonjour!
Vous faites du bon boulot. Je viens de visionner votre vidéo.
Seulement, je ne dispose pas des 2 nouvelles fonctions dont vous avez parlé, même si je dispose d'un Excel 2016 avec licence.
29/01/2021 @ 17:13
Comment calculer comme ceci avec une formule excel
=SI(OU(3;4;6;8;50;52;53;55;60;65;70;71;72;80;85)=E2;"W";"E")
05/02/2021 @ 19:57
Bonjour!
Je ne sais si j'ai compris votre préoccupation. Mais, vous pouvez essayer ceci:
=SI(OU(E2=3;E2=4;E2=6;E2=8;E2=50;E2=52;E2=53;E2=55;E2=60;E2=65;E2=70;E2=71;E2=72;E2=80;E2=85);"W";"E")
16/01/2021 @ 16:32
Bonjour,
Il semble que ces fonctions ne soient disponibles qu'à partir de la version 2019 d'Excel et non 2016.
Merci pour ce tuto.
25/11/2020 @ 16:53
Apparemment la formule n'a pas été correctement interprétée ?
=SI(E2>60;"ETOILE");
SI(ET(E250;"ENIGME");
SI(ET(E240;"Vache à lait");
SI(E2<40;"Poids mort";"")))
25/11/2020 @ 16:49
Bonjour,
Je dois imbriquer plusieurs SI dont certains avec 2 conditions
ex: =SI(E2>60;"ETOILE");SI(ET(E250;"ENIGME");SI(ET(E240;"Vache à lait");SI(E2<40;"Poids mort";"")))
j'ai comme erreur : #VALEUR!
Pouvez vous m'aider ?
Cordialement
14/10/2020 @ 10:03
BONJOUR
QUAND JE CREE UNE ALERTE SUR EXCEL, AVEC LA FORMULE SI, LES DATES AVANT 2000 NE SONT PAS PRIS EN COMPTE DANS LE CALCUL.
LE CALCUL ET L'ALERTE FONCTIONNENT DES L'ANNEE 2000.
MERCI DE VOTRE RETOUR.
KALI
27/06/2019 @ 20:52
bonjour, je dois créer un tableau.
une liste déroulante qui contient les nom des site et je souhaiterai créer une formule qui fasse correspondre l'adresse ip au site choisi dans la liste déroulante
exemple agde centre qui dois corespondre à 10.56.00.00
si je choisi Ateliers il doit s'afficher 11.54.15.22
pouvez vous m'aidez, je n'y arrive pas
dans l'attente de vous lire cordialement.
28/06/2019 @ 08:51
Dans ce cas, c'est la fonction RECHERCHEV que vous devez utiliser (regardez la vidéo pour vous aider à comprendre)
18/06/2019 @ 17:11
Bonjour,
Je cherche é determiner si la valeur d'une cellule est plus ou moins élévée de 10% en comparant avec une autre cellule, le but étant de lier cette fonction par la suite à une forme conditionnelle afin de changer la couleur de ma cellule cible. Voici un exemple de ce que j'aimerais;
Cellule A1 = 90
Cellule B1 =95
La condition serait la suivante; Si la valeur de la cellule B est inférieure ou égale à 10% d'écart avec ma cellule A, alors ma cellule B se met en vert, si + de 10% en moins elle se met en bleu, et si + de 10% en plus en rouge.
Dans ce cas la cellule B serait en vert, elle serait en bleu si la valeur était de 60 et en rouge si elle était 115 par exemple.
Voilà j'èspere être assez précis, merci beaucoup si vous avez une solution et pour votre aide.
18/06/2019 @ 19:13
Bonjour, avez-vous regardez l'article sur les mises en forme conditionnelles ? J'ai exactement expliqué ce point pour mettre d'une couleur différente les 10% des valeurs les plus élevés.
30/04/2019 @ 22:20
J'aimerais automatiser la feuille de temps de mes employés.
Les heures y sont inscrites sous le format 0:00
Les totaux se font sur 2 lignes (l'une en format 0:00 et l'autre en format décimal)
Les employés ont droit à des heures de pause/repas payées mais non incluent dans le calcul précédent.
Entre 3 et 5 heures = 15 minutes
Entre 5 et 8 heures = 30 minutes
Entre 8 et 10 heures = 45 minutes
10 heures et plus = 60 minutes
J'ai utilisé la formule SI.MULTIPLE qui ne semble pas fonctionner avec le format heure ni avec les fractions.
Pouvez-vous m'aider??
07/09/2018 @ 16:55
Bonjour,
j'aurais besoin d'un coup de pouce pour effectuer une formule sur un tableau un peu différent des autres et j'ai du mal avec toutes ces formules
Merci d'avance
22/02/2018 @ 18:07
Bonjour,
Je cherche une formule avec deux imbriqués Si(ou) :
Ma cellule E3 peut être égale à Service ou Industriel...
Une cellule H5 est un pourcentage calculé automatiquement précédemment.
Et je souhaite obtenir un oui ou un non dans la cellule de la formule en fonction de E3 et H5 qui peuvent changer.
=SI(ET(E3="SERVICE";H510%);"OUI";"NON"))
Je vous remercie pour votre aide 🙂
07/11/2021 @ 00:20
=SI(ET(E3="SERVICE";H5=10%);"OUI";"NON")
j'espère qu'avec ça votre problème sera résolu
25/04/2017 @ 20:14
Le travail devient mieux efficace et peux pénible avec l'apparition de ces deux nouvelles fonctions SI.CONDITIONS et SI.MULTIPLE.
Merci pour ces infos!
29/04/2017 @ 18:16
De rien 🙂