Aide sur formule de SI, ET, OU imbriqués avec plusieurs OU/ET
Lyne
-
PHILOU10120 Messages postés 6445 Date d'inscription Statut Contributeur Dernière intervention -
PHILOU10120 Messages postés 6445 Date d'inscription Statut Contributeur Dernière intervention -
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
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:
- Aide sur formule de SI, ET, OU imbriqués avec plusieurs OU/ET
- Formule si et - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Mise en forme conditionnelle excel formule si - Guide
- Formule mathématique - Télécharger - Études & Formations
4 réponses
Bjr,
Dernière ligne de votre formule, il y a 2 couaks :
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,
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,
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
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
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
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
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?
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?
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.
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.
C'est tout juste, j'ai fait des erreurs de frappe.
Merci beaucoup !