Chercher un nombre dans une liste

Résolu/Fermé
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 - 26 janv. 2014 à 11:54
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 - 26 janv. 2014 à 19:58
Bonjour,
j'ai une liste de poids pour des expéditions, selon ces poids, le prix de la livraison est calculé.
La liste est : 50 et moins - 100,200,300,400,500,600,...jusqu'à 1000 puis par 200
Mon poids exact n'est jamais l'un de ces chiffres, mais compris dans une limite.
Je voudrais donc associer mon poids exact avec la tranche de poids pour laquelle le port sera payé.
Exemple 256 kg iront dans la case des moins de 300 kg (mais plus de 200 kg)
j'ai essayé d'imbriquer des SI.ET et ça ne marche pas

=SI(F15<=50;H5=1;SI(ET(F15>50;F15<=100;H5=2);SI(ET(F15>100;F15<=300;H5=3);"suivant")))
ceci me donne comme réponse "FAUX"
en F15, j'ai mon poids exact (dans mon exemple 256 kg)
en H5 je devrais retrouver le n° de la ligne où se situe la tranche de poids recherchée.

merci de votre aide.

5 réponses

yao.chris Messages postés 92 Date d'inscription mercredi 16 octobre 2013 Statut Membre Dernière intervention 6 août 2020 2
26 janv. 2014 à 12:03
bonjour,

tu dois juste remplacer les ET par OU comme ci dessous;

=SI(F15<=50;H5=1;SI(OU(F15>50;F15<=100;H5=2);SI(OU(F15>100;F15<=300;H5=3);"suivant")))

bon dimanche
0
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 34
26 janv. 2014 à 16:44
Je viens d'essayer et ça ne marche pas, en effet, en H5, j'ai toujours comme valeur 1 et dans la cellule où je met ma formule s'affiche "suivant"
alors que avec un poids de 256 kg je devrais avoir la valeur 3 en H5 puisque plus petit que 300 mais plus grand que 100

la formule entière devrait me donner tous les poids par 100 jusqu'à 1000 kg et ensuite par 200 jusqu'à 2000. J'avais fait un peu plus court afin de mieux comprendre.
Merci de ton aide.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
Modifié par Vaucluse le 26/01/2014 à 12:54
Bonjour
=RECHERCHEV(Cell poids; Liste poids;1)
vous donnera le poids inférieur le plus proche dans la liste, sous réserve que la liste soit classée par ordre croissant.

crdlmnt

Errare humanum est, perseverare diabolicum
0
yao.chris Messages postés 92 Date d'inscription mercredi 16 octobre 2013 Statut Membre Dernière intervention 6 août 2020 2
26 janv. 2014 à 13:10
Bonjour Vaucluse,

Je ne savais pas que la RECHERCHEV pouvais chercher une valeur qui se rapproche à une donnée.

Pour moi, la RECHERCHEV recherche la valeur exacte.

Merci de nous avoir aidé en nous apprenant des choses.

Bon Dimanche.
yao
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
26 janv. 2014 à 14:18
Pas de quoi
RECHERCHEV(cell; champ;colonne;0) ou ;FAUX ou même seulement) cherche la valeur exacte
sans cette info, soit RECHERCHEV(Cell;champ;col) la formule ressort la valeur la plus proche i=inférieure (si num) ou avant (si alpha) lorsque la colonne de recherche est classée par ordre croissant.(Mais si cette colonne n'est pas classée ressort un peu n'importe quoi!)
mêmes arguments pour le code EQUIV(Cell;col;...)
Bonne route
crdlmnt
0
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 34
26 janv. 2014 à 16:55
Bonjour VAUCLUSE,
je viens d'essayer ta méthode, elle fonctionne en effet, mais elle donne le poids le plus proche inférieur; or ici je dois calculer le prix d'une livraison, donc je ne peux pas copter 200 kg pour un envoi de 256, mais bien 300 qui est la tranche 201-300
mais je suis content d'avoir appris cette particularité de RECHERCHEV
merci bien.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
26 janv. 2014 à 17:13
Alors change de formule:

=INDEX(Liste poids;EQUIV(poids; liste poids;0)+1))

crdlmnt
0
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 34
26 janv. 2014 à 17:32
je viens d'essayer et cela me renvoie #N/A
merci quand même
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
26 janv. 2014 à 19:27
Mea culpa, puisque c'est une valeur proche, enlevez le ;0 à la fin
=INDEX(Liste poids;EQUIV(poids; liste poids)+1))
crdlmnt
0
yao.chris Messages postés 92 Date d'inscription mercredi 16 octobre 2013 Statut Membre Dernière intervention 6 août 2020 2
26 janv. 2014 à 16:24
Merci pour toutes ces info, Vaucluse.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 34
26 janv. 2014 à 16:39
Merci les amis pour ces bonnes informations.
Je vais essayer de suite.
0
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 34
26 janv. 2014 à 17:50
ça y est j'ai trouvé à m'en sortir !
j'arrondi mon poids à la centaine supérieure (donc, 256 devient 300) et je suis dans la bonne direction.
Toutefois si l'un de vous a une solution "plus propre" je suis preneur.
Merci à tous
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
26 janv. 2014 à 19:28
Voir la réponse un peu plus haut soit:
=INDEX(Liste poids;EQUIV(poids; liste poids)+1))
0
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 34
26 janv. 2014 à 19:58
magnifique ! ça fonctionne.

Grand merci
0