Aide sur formule de SI, ET, OU imbriqués avec plusieurs OU/ET

Fermé
Lyne - 25 févr. 2016 à 11:29
PHILOU10120 Messages postés 6368 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 22 avril 2024 - 1 mars 2016 à 12:21
Bonjour à tous,

Je sais que c'est le type de question qu'on vous pose souvent, et pour cette raison j'ai énormément cherché avant de poser la mienne, mais la je bloque.

Par conséquent, pourriez-vous m'aider à trouver ce qui bloque dans ma formules?

Le contexte: je cherche à exprimer l'idée suivante: Si le poids X d'un objet est inférieur à 5kg, et si OU le coté le plus long de cet objet est compris entre 120 et 150cm, OU le côté médian est supérieur à 60cm , OU le plus petit côté est supérieur à 60cm, alors afficher le tarif Y, sinon SI le poids X du même objet est compris entre 5 et 10 kg et si OU le côté ...... (on reprend la même trame), afficher le tarif Z, sinon noter "rien".
Et ce pour une dizaine de lignes.

J'ai donc écrit la formule suivante qui ne passe pas :

=SI(ET(U2<'Frais de traitement'!$E$45;(OU(catalogue_comparateurs!Z2>120; catalogue_comparateurs!AA2>60; catalogue_comparateurs!AB2>60))); 'Frais de traitement'!$F$45;SI(ET(U2>'Frais de traitement'!$E$45;U2<'Frais de traitement'!$E$46;(OU(catalogue_comparateurs!Z2>120; catalogue_comparateurs!AA2>60; catalogue_comparateurs!AB2>60)))); 'Frais de traitement'!$F$46"rien")

Avez-vous une idée de ce qui pourrait clocher?

Merci beaucoup par avance de votre aide.

Lyne



A voir également:

4 réponses

Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016 31
25 févr. 2016 à 11:40
Bjr,

Dernière ligne de votre formule, il y a 2 couaks :
catalogue_comparateurs!AB2>60)))); 'Frais de traitement'!$F$46"rien")

1) il y a 4 parenthèses droites après AB2>60 alors qu'on en attend 3, car actuellement vous fermez le SI de la ligne 3 sans avoir précisé le résultat si vrai et si faux.

2) 'Frais de traitement'!$F$46"rien" -> il manque un point-virgule entre 46 et "rien" non ?

Bien à vous,
0
Bonjour Theo.R

C'est tout juste, j'ai fait des erreurs de frappe.

Merci beaucoup !
0
PHILOU10120 Messages postés 6368 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 22 avril 2024 796
25 févr. 2016 à 11:49
Bonjour

Pour être plus claire!
Pour un paquet inférieur à 5 Kg et dont la longueur est inférieur à 150 cm et dont la largeur et la hauteur sont supérieur à 60 cm tarif Y
Est ce le bon résumé ?
Je pense qu'il faut faire une table et chercher par le poids puis les dimensions
J'attends des précisions sur les tarifs pour pouvoir construire une table tarifaires
0
Bonjour Philou10120,

Je n'ai pas été suffisamment claire. Pour un paquet d'un poids inférieur à 5kg, et dont le longueur est inférieure à 150cm ou dont la largeur est inférieure à 60 cm, ou dont la hauteur est inférieure à 60 cm, donner le prix Y.

Ça c'est dans un premier temps. Si le paquet ne correspond à aucun de ces critères, alors on a une nouvelle condition etc.

Est-ce plus clair ?

Lyne
0
PHILOU10120 Messages postés 6368 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 22 avril 2024 796 > Lyne
1 mars 2016 à 12:21
Pouvez-vous nous donner un fichier avec les différents critères pour construire une table des tarifs. Pour permettre une recherche par poids puis dimensions à fin de déterminer le tarifs
0
Heas Messages postés 71 Date d'inscription samedi 21 novembre 2015 Statut Membre Dernière intervention 3 juillet 2018 5
1 mars 2016 à 09:09
Bonjour,
le principe est de scinder le problème.
Un flag étant une valeur binaire 0 ou 1.


Dans ton cas, tester la première condition avec un Si(Condition; 1 ;"")
Si le poids X d'un objet est inférieur à 5kg, avec le résultat dans une colonne X

Puis faire le Si(Ou( ; ; ) ; 1 ; "") avec le résultat dans une autre colonne X+1 par exemple.

Ensuite interpréter les résultats obtenus en colonnes X et X+1 .
La méthode a l'avantage :
De tester séparément les conditions.
D'être plus lisible, ta formule avec un tas de parenthèses ne l'est plus. Imagine quelqu'un d'autre qui essaie de la lire...;

L'inconvénient de nécessiter deux colonnes pour les calculs. Mais les possibilités d'Excel ce n'est pas un problème.

Donc il s'agit d'une SIMPLIFICATION A LA LECTURE ET A LA REALISATION. Ton problème était de toute façon résolu, non?
0
Heas Messages postés 71 Date d'inscription samedi 21 novembre 2015 Statut Membre Dernière intervention 3 juillet 2018 5
25 févr. 2016 à 11:46
Bonjour,
je n'ai pas tout compris dans le demande.
Les formules "logique" d'Excel ont l'inconvénient de devenir illisibles si on les complique telles que la tienne.
Par contre je peux essayer de te donner quelques tuyaux.

1) Tu dis que ça cloche. Qu'est-ce qui cloche? Quel message d'erreur? Un moyen est d'éditer la formule, et de se déplacer pour voir si les parenthèses ( correspondent bien aux parenthèses ).

2) Dans un cas complexe comme celui cité, il conseillé de traiter dans une première colonne le SI ET OU, et de générer un flag.
De traiter dans une deuxième colonne le deuxième SI , de générer un flag.
Ensuite on traite les deux flags.
Ce qui a l'avantage d'avoir des formules plus claires, et de situer une éventuelle erreur sur une formule plus simple.
-1
Hello Heas,

C'était une erreur de parenthèse de ma part. En revanche, si tu as une idée sur comment simplifier ma formule, je suis preneuse. Qu'entends-tu par générer un flag ?

Merci de ta réponse.

Lyne
0