Conditions sous excel 2007 [Résolu/Fermé]

Signaler
Messages postés
1
Date d'inscription
mardi 12 février 2013
Statut
Membre
Dernière intervention
12 février 2013
-
 buticelli -
Bonjour,

je dois entrer le montant de mon cout de transport dans une cellule
et ce cout est déterminé en fonction du poids de la livraison
j'ai donc 6 tranches avec un tarif correspondant
j'ai mis cette formule mais ça ne fonctionne pas

=SI(F9=0;0;SI(ET(F9<=60);36,34;SI(ET(60<F9<=90);45,42;SI(ET(90<F9<=300);403,75;SI(ET(300<F9<=800);335,11;SI(ET(800<F9<=1500);294,74;SI(ET(F9>1500);254,36)))))))

sachant que F9 est mon poids...

au secours...


2 réponses

Messages postés
7083
Date d'inscription
dimanche 8 avril 2007
Statut
Modérateur
Dernière intervention
25 septembre 2020
1 246
Bonsoir,

Essaie comme cela :
=SI(F9=0;0;SI(F9<=60;36,34;SI(ET(60<F9;F9<=90);45,42;SI(ET(90<F9;F9<=300);403,75;SI(ET(300<F9;F9<=800);335,11;SI(ET(800<F9;F9<=1500);294,74;SI(ET(F9>1500);254,36)))))))
merci beaucoup !!!
Messages postés
11910
Date d'inscription
mardi 24 mai 2011
Statut
Contributeur
Dernière intervention
12 juin 2018
2 348
Tu ne dois pas faire d'intervalles. Sous excel, on n'écrit pas a<x<b mais ET(x>a;x<b). Ceci dit, tu peux t'en passer quand tu imbriques des SI entre eux. Par contre il faudra que tu nous écrives de façon "textuelle" quelles sont tes critères/conditions, car à lire la formule on ne comprend pas plus qu'Excel ce que tu veux. Explications:

=SI(F9=0;0;SI(ET(F9<=60);36,34;SI(ET(60<F9<=90);45,42;SI(ET(90<F9<=300);403,75;SI(ET(300<F9<=800);335,11;SI(ET(800<F9<=1500);294,74;SI(ET(F9>1500);254,36)))))))

On va prendre juste les deux premier SI, comme ça tu comprendras. La formule si c'est =SI(condition;réponse_si_vrai;réponse_si_faux)

Si on prend ton premier SI:
=SI(F9=0;0;SI
Ce qui signifie: "SI mon poids est égal à zéro alors mon tarif est aussi égal à zéro sinon SI..." et jusqu'ici tout va bien !

Mais pour la suite:
SI(ET(F9<=60);36,34;SI(ET(60<F9<=90);45,42
Ce qui signifie, en continuant le SI précédent:
"...sinon SI mon poids est à la fois plus petit que 60 [Et rien du tout] alors mon tarif est de 36.34... sinon SI..."

Tu n'a pas non plus besoin de faire des intervalles; une valeur qui n'est pas plus petite ou égale à zéro et qui n'est pas plus petite ou égale à 60 est forcément plus grande que 60.

Je te propose donc:

=SI(F9<=0;0;SI(F9<=60;36,34;SI(F9<=90;45,42;SI(F9<=300;403,75;SI(F9<=800;335,11;SI(F9<=1500;294,74;254,36))))))
merci beaucoup