Recherche valeur dans un tableau avec palier
Bonjour, j'ai bien conscience qu'il existe d'innombrable réponse a ce sujet mais la je coince est j'aurai besoin d'un avis extérieure pour m'aide. Donc merci d'avance a toute personne qui m'aidera !
J'ai besoin d’aller cherche la valeur strictement supérieure a un chiffre dans une cellule
Mes différentes possibilités de choix sont les suivantes :
12
15
18
21
24
27
30
33
36
39
42
45
48
51
54
57
60
Je suis partie donc sur deux pistes :
-La première est une fonction en SI mais j'ai peur que ce soit trop pour cette fonction avec le nombre de SI a imbrique les uns dans les autres.
=SI(ET(BG8>12;BG8<=15);BG8;SI(ET(BG8>15;BG8<=18);"-"))
Dans cette formulation BG8 est ma cellule de référence la formule étant appliqué a la cellule juste en dessous. Je ne vois pas comment je pourrais imbrique les autres SI pour avoir mes 17 valeurs possible sachant que je dois définir une "plage de palier" entre 12 et 15 tu m affiche la valeur supérieure donc ici 15 si j ai une valeur de 12.3. Pareil si j'ai 31 il faut afficher 33.
-La deuxième solution est une RECHERCHEV mais je n'arrive pas a lui faire dire la valeur supérieure de mes paliers.
Donc merci pour votre aide !!!
Bonsoir,
Avec EQUIV :
=INDEX(ta_plage;EQUIV(BG8;ta_plage;-1))avec ta_plage triée en sens inverse (décroissant).
A+
Bonsoir OOoiste,
Merci pour votre aide ! sa va grandement m’avance dans mon travail ! surtout que c’était la plus facile pour le reste de mon projet.
Juste deux petite questions :
Pourquoi faire une inversion de ma table ? histoire que je comprenne comment marche cette fonction.
Et dans l'improbable cas ou je tomberai sur la même valeur par exemple 30 votre formule me renvoie 30 alors que si je fait bien 30.1 je tombe bien dans la valeur de 33 (ce qui est vraiment ce que je recherche encore merci)
Bonne soirée.
karnacier a écrit :Pourquoi faire une inversion de ma table ? histoire que je comprenne comment marche cette fonction.
EQUIV(valeur_cherchée;matrice_recherche;type) avec le type = à -1 recherche sur une plage triée en ordre décroissant et renvoie la première valeur supérieure ou égale à la valeur cherchée.
Voir
Avec le type = à 1 (recherche dans une plage triée en ordre croissant) on aurait eu le problème du nombre figurant dans la liste.
=INDEX(ta_plage;EQUIV(BG8;ta_plage;1)+1) renvoie bien 33 pour 30,1 mais aussi 33 pour 30
karnacier a écrit :Et dans l'improbable cas ou je tomberai sur la même valeur par exemple 30 votre formule me renvoie 30 alors que si je fait bien 30.1 je tombe bien dans la valeur de 33 (ce qui est vraiment ce que je recherche encore merci)
Et donc tu n'aurais pas eu le résultat escompté.
On aurait pu contourner le problème avec =INDEX(ta_plage;EQUIV(BG8;ta_plage;1)+1-NB.SI(ta_plage;BG8)) mais c'est quand même plus court et plus simple avec les nombre décroissants.