Chercher un nombre dans une liste

Résolu/Fermé
Signaler
Messages postés
349
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
6 janvier 2022
-
Messages postés
349
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
6 janvier 2022
-
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

Messages postés
92
Date d'inscription
mercredi 16 octobre 2013
Statut
Membre
Dernière intervention
6 août 2020
2
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
Messages postés
349
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
6 janvier 2022
29
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
Messages postés
26386
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
15 janvier 2022
6 177
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
Messages postés
92
Date d'inscription
mercredi 16 octobre 2013
Statut
Membre
Dernière intervention
6 août 2020
2
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
Messages postés
26386
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
15 janvier 2022
6 177
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
Messages postés
349
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
6 janvier 2022
29
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
Messages postés
26386
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
15 janvier 2022
6 177
Alors change de formule:

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

crdlmnt
0
Messages postés
349
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
6 janvier 2022
29
je viens d'essayer et cela me renvoie #N/A
merci quand même
0
Messages postés
26386
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
15 janvier 2022
6 177
Mea culpa, puisque c'est une valeur proche, enlevez le ;0 à la fin
=INDEX(Liste poids;EQUIV(poids; liste poids)+1))
crdlmnt
0
Messages postés
92
Date d'inscription
mercredi 16 octobre 2013
Statut
Membre
Dernière intervention
6 août 2020
2
Merci pour toutes ces info, Vaucluse.
0
Messages postés
349
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
6 janvier 2022
29
Merci les amis pour ces bonnes informations.
Je vais essayer de suite.
0
Messages postés
349
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
6 janvier 2022
29
ç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
Messages postés
26386
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
15 janvier 2022
6 177
Voir la réponse un peu plus haut soit:
=INDEX(Liste poids;EQUIV(poids; liste poids)+1))
0
Messages postés
349
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
6 janvier 2022
29
magnifique ! ça fonctionne.

Grand merci
0