Résumé
La fonction SI peut être imbriquée dans une autre fonction SI et ce, autant de fois que nous le souhaitons. On peut réaliser cet enchevêtrement afin d’obtenir plusieurs conditions. Dans notre exemple, la formule en D3 contient des fonctions SI imbriquées à 4 conditions :
=SI(C3<=2006;"Juniors";
SI(C3<=2008;"Cadets";
SI(C3<=2010;"Minimes";
SI(C3<=2012;"Benjamins";"Hors catégorie"))))
La formule ci-dessus renvoie la catégorie de la personne en fonction de son année de naissance.
Formule Excel – SI imbriquée 4 conditions
=SI( test_1 ; résultat_1 ;
SI( test_2 ; résultat_2 ;
SI( test_3 ; résultat_3 ;
SI( test_4 ; résultat_4 ; résultat_5 ))))
Explications
Dans notre exemple, l’objectif est d’identifier la catégorie de chaque personne en fonction de son année de naissance. Une façon de réaliser cette formule est d’imbriquer les fonctions SI les unes dans les autres. Imbriquer les fonctions SI permet de créer plusieurs conditions et vérifier chacune d’elles tour-à-tour.
Construire la formule
La fonction SI effectue un test logique puis retourne un résultat différent suivant que le résultat soit VRAI ou FAUX. Si vous avez besoin de vérifier plusieurs conditions, vous avez la possibilité de placer une nouvelle fonction SI en tant que résultat d’une autre.
= SI( test_logique ; résultat_si_vrai ; résultat_si_faux )
= SI( test_logique ; résultat_si_vrai ; SI(...) )
Dans notre exemple, nous voulons récupérer la catégorie de la personne en fonction de son année de naissance. Nos critères sont :
Année | Catégorie |
---|---|
2005-2006 | Juniors |
2007-2008 | Cadets |
2009-2010 | Minimes |
2011-2012 | Benjamins |
Pour construire la formule, nous allons partir d’une des extrêmités du tableau. Nous allons démarrer par le haut. La condition est de vérifier si la cellule est inférieure ou égale à 2006.
= SI( C3<=2006 ; "Juniors" ;
Si le test se révèle exact, la valeur « Juniors » sera renvoyée. Dans tous les autres cas, nous voulons appliquer un autre test : vérifier si la valeur est inférieure ou égale à 2008 (notre seconde catégorie).
= SI( C3 <= 2006 ; "Juniors" ; SI( C3 <= 2008 ; "Cadets" ;
Si la valeur est inférieure ou égale à 2008 (et supérieure à 2006), la valeur « Cadets » sera renvoyée. Dans les autres cas, nous voulons tester notre 3e catégorie. La limite sera l’année 2010.
= SI( C3 <= 2006 ; "Juniors" ; SI( C3 <= 2008 ; "Cadets" ;
SI( C3 <= 2010 ; "Minimes" ;
Si le test se révèle exact, la valeur « Minimes » sera renvoyée. Dans tous les autres cas, nous voulons appliquer un dernier test. Nous allons contrôler si la valeur est inférieure à 2012.
= SI( C3 <= 2006 ; "Juniors" ; SI( C3 <= 2008 ; "Cadets" ;
SI( C3 <= 2010 ; "Minimes" ; SI( C3 <= 2012 ; "Benjamins" ;
Si la valeur est inférieure ou égale à 2012 (et supérieure à 2010), la valeur « Benjamins » sera renvoyée. Nous avons tester nos 4 conditions. Cependant, nous souhaitons nous assurer qu’il n’y pas de valeur anormale. Nous allons indiquer en tant que 3e argument de notre dernière fonction SI la valeur « Hors catégorie ». Si un individu a une valeur supérieure à 2012, la valeur « Hors catégorie » sera renvoyée.
= SI( C3 <= 2006 ; "Juniors" ; SI( C3 <= 2008 ; "Cadets" ;
SI( C3 <= 2010 ; "Minimes" ; SI( C3 <= 2012 ; "Benjamins" ; "Hors catégorie" )
) ) )
Faciliter la lecture
Pour rendre la lecture plus facile de votre formule, je vous invite à faire des retours à la ligne (Alt+Entrée). Votre formule fonctionnera parfaitement mais sa lecture s’en trouvera facilitée.
=SI(C3<=2006;"Juniors";
SI(C3<=2008;"Cadets";
SI(C3<=2010;"Minimes";
SI(C3<=2012;"Benjamins";"Hors catégorie"))))
La fonction SI.CONDITIONS
Dans les cas similaires à notre exemple (catégorisation en fonction d’un score, âge, année, mois,…), la fonction SI.CONDITIONS se révèle être une solution viable.
= SI.CONDITIONS( C3<=2006 ; "Juniors" ;
C3<=2008;"Cadets"
C3<=2010;"Minimes";
C3<=2012;"Benjamins")
Cette fonction va tester chaque condition et renvoyer le résultat du premier test renvoyant VRAI. Dans notre exemple, nous avions mis une valeur par défaut dans le cas où toutes les conditions se révèleraient fausses. Nous pouvons le faire ici en ajoutant la valeur VRAI en tant que test et y associer la valeur souhaitée.
= SI.CONDITIONS( C3<=2006 ; "Juniors" ;
C3<=2008;"Cadets"
C3<=2010;"Minimes";
C3<=2012;"Benjamins";
VRAI;"Hors catégorie")
Formules en lien
- Si cellule égale à
- Si cellule égale à (sensible à la casse)
- Si cellule contient un texte
- Si cellule contient un texte (sensible à la casse)
- Si cellule contient texte alors 1
- Si cellule contient une valeur supérieure ou égale à
- Si cellule vide alors rien
- Si cellule vide alors copier
- Si alors
- Si cellule inférieure ou égale à