Pendant très longtemps, lorsqu’on voulait effectuer plusieurs tests dans une seule formule de calcul, on pouvait :
- insérer les fonctions ET et OU
- empiler les fonction SI.
Or, cela rend la lecture de la formule indigeste.
Exemple :
=SI(A1>16;"Très Bien";SI(A1>14;"Bien";SI(A1>12;"Assez Bien";SI(A1>10;"Admis(e)";"Recalé(e)"))))
Dorénavant, vous pouvez utiliser de nouvelles fonctions. Nous avons déjà vu la fonction SI.MULTIPLE mais elle a le défaut qu’il faut que le test aie une correspondance exacte « théoriquement ».
SI.CONDITIONS permet d’utiliser d’autres opérateurs dont les célèbres inférieur (<) et supérieur (>).
Syntaxe
SI.CONDITIONS(test_logique1; valeur_si_vrai1; [test_logique2; valeur_si_vrai2]; [test_logique3; valeur_si_vrai3];…)
avec les arguments :
- test_logique1 : Argument obligatoire. Condition qui évalue un argument comme VRAI ou FAUX.
- valeur_si_vrai1 : Argument obligatoire. Résultat à renvoyer si test_logique1 est vrai. Peut être vide.
- test_logique2 : Argument Facultatif. Condition qui évalue un argument comme VRAI ou FAUX.
- valeur_si_vrai2 : Argument Facultatif. Résultat à renvoyer si test_logique2 est vrai.
- etc…
La fonction SI.CONDITIONS permet de tester jusqu’à 127 conditions.
Pour afficher un texte/une valeur par défaut, il faut mettre la mention VRAI dans le dernier test_logique et ce qu’on attend afficher dans l’argument valeur_si_vrai correspondant.
Exemples
Tests sur une même cellule
Pour notre premier exemple, on va utilise le cas très célèbre de la note lors d’un examen avec les mentions, « admis » ou « recalé ».
On transpose les 4 conditions à droite du tableau dans chaque argument test_logique et on affiche le texte entre guillemets dans les arguments valeur_si_vrai correspondants. Pour le dernier argument test_logique, on met VRAI (sans guillemets) et « Refusé » pour le dernier argument valeur_si_vrai.
On obtient une formule :
=SI.CONDITIONS(A2>=16;"Mention Très Bien";A2>=14;"Mention Bien";A2>=12;"Mention Assez Bien";A2>=10;"Admis";VRAI;"Refusé")
Conditions sur différentes cellules
SI CONDITIONS permet de tester plusieurs cellules différentes comme toute fonction logique d’Excel.
Dans notre second exemple, on va tester plusieurs valeurs :
- la nationalité de l’entreprise
- le montant des ventes
Pour réaliser la formule, il faut faire attention à la priorisation des conditions car les fonctions SI fonctionne en système de cascade :
- si la première condition est remplie, elle ne va pas vérifier la seconde condition
- si la première condition n’est pas remplie, on passe à la deuxième condition
Dans notre cas, il faut absolument mettre la nationalité en 1er car si on met le montant en premier test, Airbus aura 10% de remise alors qu’il peut prétendre à 15% en raison de sa nationalité.
On obtient la formule suivante :
=SI.CONDITIONS(J2="FR";L2*0,15;L2>250000;L2*0,1;VRAI;"Aucune remise")
Dans ma capture ci-dessous, certaines références sont remplacées car je suis dans un tableau structuré.
Astuce
Pour finir, notre dernier cas va afficher un message pour passer une commande si le stock est bas.
Maintenant que vous savez comment utiliser SI.CONDITIONS, je vous mets directement la formule :
=SI.CONDITIONS(A13>=50;"Stock suffisant";A13>=20;"Prévoir une commande";A13>=0;"Commande urgente";VRAI;"Erreur")
Nous avons prévu un affichage d’erreur si le stock est négatif. Oui, ça peut arriver si on imagine que le tableau est mal saisi.
Or, cette manière de faire bien que correcte peut être plus simple par une simple manipulation : la validation de données.
On va tout simplement interdire tout montant négatif pour la saisie du tableau :
- Sélectionnez la colonne Stocks du tableau
- Rendez-vous dans Données > Validation de données
- On autorise Nombre entier supérieur à 0.
- Cliquez sur OK
Comme la validation de données est active pour les saisies futures, en A15, on tente de ressaisir -5, on aura un message d’erreur. Remplacez la valeur par 5.
Maintenant, on peut donc simplifier la formule de calcul car les 2 derniers arguments sont devenus inutiles. On obtient :
=SI.CONDITIONS(A14>=50;"Stock suffisant";A14>=20;"Prévoir une commande";VRAI;"Commande urgente")
Nous avons mis la valeur par défaut VRAI pour les stocks inférieurs à 20 car les montants négatifs sont désormais impossible grâce à la validation de données.
Maintenant repensez à notre premier exemple.
Hé oui, les notes saisies peuvent être supérieures à 20 ou négatives. Corrigeons cela.
Tout d’abord, on autorise uniquement les nombres entre 0 et 20. Selon le type de notation, vous pouvez autorisez uniquement les nombres entiers ou bien contenant une décimale.
- la mention Très Bien pour des notes supérieures à 20
- le terme Refusé pour les nombres négatifs.
Sans validation de données =SI.CONDITIONS(A2>20;"Erreur";A2>=16;"Mention Très Bien";A2>=14;"Mention Bien";A2>=12;"Mention Assez Bien";A2>=10;"Admis";A2>=0;"Refusé";VRAI;"Erreur") Avec validation de données =SI.CONDITIONS(A2>=16;"Mention Très Bien";A2>=14;"Mention Bien";A2>=12;"Mention Assez Bien";A2>=10;"Admis";VRAI;"Refusé")
