Formule "SI" avec conditions multiples sous Libre Office [Résolu/Fermé]

Messages postés
13
Date d'inscription
mercredi 13 août 2014
Statut
Membre
Dernière intervention
2 novembre 2015
- - Dernière réponse : JeanBartassant
Messages postés
13
Date d'inscription
mercredi 13 août 2014
Statut
Membre
Dernière intervention
2 novembre 2015
- 28 oct. 2015 à 11:06
Bonjour,

J'essaie d'inclure une formule, sous Libre Office, mais je n'obtiens que des codes d'erreur. Quelqu'un pourrait-il me dire où elle se niche :

Je voudrais obtenir en B un résultat différent suivant la valeur de A, tel que :

=SI(A<250;"3.15";SI(250>A<500;"4.3");SI(500>A<1000;"5.45"), etc....

C'est simple, sûrement, j'avais réussi il y a quelques années, mais là plus moyen de retrouver. Problème de syntaxe, mais lequel ?.....

Merci d'avance !


Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
50052
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
16 octobre 2019
10919
1
Merci
Bonjour.
D'abord supprimer les guillemets ; ensuite remplacer les points par des virgules, car dans les deux cas tu affiches des textes et pas des nombres ...

Enfin, ne pas inventer des syntaxes qui n'existent pas :
Ce n'est pas
SI(250>A<500 ...
mais juste
SI(A<500 ...
puisqu'on a déjà examiné le cas où
A<250
.

Ta formule
=SI(A<250;"3.15";SI(250>A<500;"4.3");SI(500>A<1000;"5.45"), etc.
devient donc =SI(A<250;3,15;SI(A<500;4,3);SI(A<1000;5,45), etc.

C'est bien, la retraite ! Surtout aux Antilles ... :-)
Raymond (INSA, AFPA, CF/R)

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63564 internautes nous ont dit merci ce mois-ci

diablo13800
Messages postés
1950
Date d'inscription
jeudi 2 juillet 2015
Statut
Membre
Dernière intervention
16 octobre 2019
760 -
Bonjour,

Il ne manque pas des parenthèses ? Tu dois pas ouvrir des parenthèses a chaque nouvelle condition ?
Exemple:
=SI(A<250;3,15;(SI(A<500;4,3;(SI(A<1000;5,45;//Insere la suite//)))))

Je me trompe peut être hein :p
Raymond PENTIER
Messages postés
50052
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
16 octobre 2019
10919 > diablo13800
Messages postés
1950
Date d'inscription
jeudi 2 juillet 2015
Statut
Membre
Dernière intervention
16 octobre 2019
-
Oui, tu te trompes ...
Messages postés
1950
Date d'inscription
jeudi 2 juillet 2015
Statut
Membre
Dernière intervention
16 octobre 2019
760
1
Merci
Voila comment je le comprend et l'écrirais:
=SI(E<3 ;Si(P<250;A="3.15€";Si(P<500;A=(Prix pour E<3cm et 250<P<500));SI(P<1000;A="(Prix pour E<3CM et 500<P<1000)"; Si(Continuer jusqu'au 3 Kg)))) ; Si(P<250; A="5.50€";Si(P<500;A=(Prix pour E>3cm et 250<P<500) ; Si(P<1000;A=("Prix pour E>3CM et 500<P<1000"; Si (Continuer jusqu'au 3KG)))))

En version plus ... claire ca donnerais ca

Si E<3 //On est dans le format lettre Suivi
Si P<250
A=3.15
Sinon
Si P<500
A="Prix pour E<3cm et 250<P<500
Sinon
Si P<1000
A="Prix pour E<3cm et 500<P<1000
Sinon
Etc
Fin Si
Fin Si
Fin Si
Sinon // On entre au format Colissimo
Si P<250
A=550
Sinon
Si P<500
A="Prix pour E<3cm et 250<P<500
Sinon
Si P<1000
A="Prix pour E<3cm et 500<P<1000
Sinon
Etc
Fin Si
Fin Si
Fin Si
Fin Si


C'est quelque chose comme ça que tu voudrais?

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63564 internautes nous ont dit merci ce mois-ci

JeanBartassant
Messages postés
13
Date d'inscription
mercredi 13 août 2014
Statut
Membre
Dernière intervention
2 novembre 2015
-
Tout à fait ! J'ai développé ta formule et je l'ai testée, avec les valeurs réelles de La Poste à ce jour (on ne sait jamais, tu peux en avoir besoin) : elle fonctionne parfaitement. La voici (je n'ai pas mis les valeurs de "A" entre parenthèses -ce qui renverrait un "Texte"-, car je n'ai pas besoin de faire figurer la monnaie, le nombre suffit) :

SI(E<3;SI(P<250;3.15;SI(P<500;4.3;SI(P<1000;5.45;SI(P<2000;6.9;SI(P<3000;7.5)))));
SI(P<250;5.5;SI(P<500;6.45;SI(P<1000;7.9;SI(P<2000;8.95;SI(P<5000;11.5))))))

Un grand merci pour ton aide. Du coup, je me suis plongé dans les tutoriels de tableurs qu'on peut trouver sur le net : c'est mieux qu'un Sudoku !
J'indique "Résolu" à la question.
Messages postés
13
Date d'inscription
mercredi 13 août 2014
Statut
Membre
Dernière intervention
2 novembre 2015
0
Merci
Bonjour Raymond,
Merci pour ta réponse rapide (décalage horaire avec les Antilles ?).

Bon, je ne comprends pas : j'ai essayé 5 fois ta formule, en suivant tes conseils pour les guillemets et les virgules, ça ne marche pas, j'obtiens : erreur 504. Si elle marche chez toi, telle quelle, je ne sais pas ce qui peut se passer chez moi.
JeanBartassant
Messages postés
13
Date d'inscription
mercredi 13 août 2014
Statut
Membre
Dernière intervention
2 novembre 2015
> Raymond PENTIER
Messages postés
50052
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
16 octobre 2019
-
Voilà le lien :
http://www.cjoint.com/c/EJBf5YkGn2m

En fait, je voudrais calculer automatiquement l'affranchissement d'un envoi postal : il est fonction :
1) du poids (A)
2) de l'épaisseur (B) : Si B<3 cm : Lettre suivie.
Si B>3cm : Colissimo.

A terme, la formule complète que je recherche, en C (Lettre suivie) et D (Colissimo) devrait donc commencer par :

- en C : "SI(B<3;" et se poursuivre par "=SI(A<250;"3.15";SI(250>A<500;"4.3");SI(500>A<1000;"5.45"), etc.... "
- en D : "Si(B>3;" et se poursuivre par d'autres valeurs (que je pourrai modifier, une fois la formule trouvée en C.

J'espère avoir été clair....
Merci.
Raymond PENTIER
Messages postés
50052
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
16 octobre 2019
10919 > JeanBartassant
Messages postés
13
Date d'inscription
mercredi 13 août 2014
Statut
Membre
Dernière intervention
2 novembre 2015
-
Ce n'est pas clair du tout, dans la mesure où tes explications ne correspondent pas à ton fichier ...
En C il n'y a pas de formule, mais la saisie du poids, qui n'est pas en A !
L'épaisseur, on doit supposer que ce n'est pas en B, mais en D ?
" ...SI(500>A<1000;"5.45"), etc.... " mais c'est quoi, le etc ?
JeanBartassant
Messages postés
13
Date d'inscription
mercredi 13 août 2014
Statut
Membre
Dernière intervention
2 novembre 2015
> Raymond PENTIER
Messages postés
50052
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
16 octobre 2019
-
Bon, le plus simple c'est de te dire ce que je cherche à faire, au final, en employant les vrais termes plutôt que les références au classeur (c'est vrai que j'ai introduit un paramètre supplémentaire : l'épaisseur du pli).

Voilà : je voudrais calculer le prix de l'affranchissement d'un envoi postal. Il dépend du poids, bien sûr, mais AUSSI de son épaisseur. C'est ainsi qu'un envoi de moins de 250 g sera affranchi à 3.15€ s'il fait moins de 3 cm d'épaisseur, mais il devra l'être à 5.50€ s'il les dépasse. Et ainsi de suite, par tranches, jusqu'à 3 kgs. Quelque soit le poids, moins de 3 cm, c'est le tarif "Lettre suivie", plus de 3 cm, c'est le tarif "Colissimo" qui s'appliquent.

J'ai donc essayé de rédiger une formule combinée "SI ET", mais je n'ai pas trouvé la bonne syntaxe : je me suis embrouillé dans les parenthèses, et les "alors" "sinon".

J'espère que c'est plus clair pour toi : comment écrirais-tu cette formule ? (appelons P le poids, E l'épaisseur et A l'affranchissement, si tu veux bien).

Merci.
Raymond PENTIER
Messages postés
50052
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
16 octobre 2019
10919 > JeanBartassant
Messages postés
13
Date d'inscription
mercredi 13 août 2014
Statut
Membre
Dernière intervention
2 novembre 2015
-
=SI( P<250; SI(E<3;3,15;5,50); SI(E<3;"Lettre suivie";"Colissimo") )
JeanBartassant
Messages postés
13
Date d'inscription
mercredi 13 août 2014
Statut
Membre
Dernière intervention
2 novembre 2015
> Raymond PENTIER
Messages postés
50052
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
16 octobre 2019
-
Désolé, je n'ai pas compris ta formule, qui prend comme "test logique" le poids : je ne vois pas comment l'étendre aux tranches suivantes. C'est sûrement possible, mais la solution de diablo13800 m'a semblée plus simple : elle prend comme "test logique" l'épaisseur, et elle fonctionne parfaitement. Développée, avec les valeurs réelles de La Poste à ce jour, cela donne :

SI(E<3;SI(P<250;3.15;SI(P<500;4.3;SI(P<1000;5.45;SI(P<2000;6.9;SI(P<3000;7.5)))));
SI(P<250;5.5;SI(P<500;6.45;SI(P<1000;7.9;SI(P<2000;8.95;SI(P<5000;11.5))))))

Voilà, si tu veux calculer le poids d'un colis, ça marche : on ne sait jamais, depuis les Antilles, tu peux avoir envie d'expédier de quoi faire un ti'punch ! :-)
Merci pour ton aide.