recherche

  • Initiateur de la discussion alex450
  • Date de début
A

alex450

Guest
bonjour,

j'ai un tableau de valeur comportant trois colonne. Je recherche une valeur de la première colonne dans la deuxième. puis, je dois renvoyer la valeur de la troisième colonne correspondante. J'ai essayé la fonction rechercheV, mais sans succés, car par exemple, je recherche 1 qui est dans un intervalle tel que celui-ce : 0,7<1<1,01, la fonction rechercheV me renverra 0,7, mais pas la valeur la plus proche qui est 1,01.
Le fichier joint vous permettra peut etre a vous guider un peu plus sur mon besoin.

cordialement

alex
 

Pièces jointes

  • rechercheEx.zip
    2.7 KB · Affichages: 14
D

Dugenou

Guest
Alex,

C'est vrai que recherchev ou equiv renvoient la valeur la plus proche inférieure (ou supérieure si argument -1 pour equiv) mais pas la plus proche dans les deux sens.
Je te propose une solution ou on calcule la différence entre la valeur cherchée et la valeur obtenue et on la compare à la différence avec la valeur suivante.

=SI(A3-RECHERCHEV(A3;$B$3:$B$22;1)>INDEX($B$3:$B$22;EQUIV(A3;$B$3:$B$22;1)+1;1)-A3;INDEX($C$3:$C$22;EQUIV(A3;$B$3:$B$22;1)+1;1);RECHERCHEV(A3;$B$3:$C$22;2))


C'est un peu lourd mais ça fonctionne (voir fichier). Je suis curieux de voir la réponse de Jean Marie ou d'André s'ils lisent ce post.
J'ai retrouvé un ancien post qui traitait du sujet mais il doit y avoir un blem.

http://www.excel-downloads.com/html/French/forum/read.php?f=1&i=43506&t=43467
 

Pièces jointes

  • valeur_la_plus_proche.zip
    3.1 KB · Affichages: 17
M

Monique

Guest
Bonjour,

Si tu n'as pas plusieurs fois la même valeur en colonne B :
=SOMMEPROD((ARRONDI(B$3:B$22;0)=A3)*C$3:C$22)
ou bien :
=SOMMEPROD((ARRONDI(B$3:B$22;)=A3)*C$3:C$22)

Sinon, formule matricielle, à valider par ctrl, maj et entrée :
=INDEX(C$3:C$22;EQUIV(A3;ARRONDI(B$3:B$22;0);0))
ou bien :
=INDEX(C$3:C$22;EQUIV(A3;ARRONDI(B$3:B$22;);0))
 
A

alex450

Guest
merci de votre réponse, si rapide.

cela va bien me depanner, car je suis étudiant, actuellement en stage, et j'avais quelque difficulté. Mais les deux solutions proposées ont une erreur, vers 9 ou 10 dans la colonne rechercher, ils donne deux reponse pareil.

merci, je pense pour mon application, ca va me suffir

bye
 
D

Dugenou

Guest
Alex, tu as pas du bien regarder : j'ai changé quelques valeurs dans la colonne B pour vérifier justement que ça ne donne pas seulement les valeurs une par une. Pour la série de données 8 / 9.6 /10.9 quand on cherche 8 / 9 / 10 la valeur 9.6 est bien la plus proche de 9 et aussi la plus proche de 10 !
Merci Monique pour cette nouvelle démonstration de sommeprod, cependant pour cette même série 8 / 9.6 / 10.9 à comparer à 8 / 9 / 10, ton calcul renvoie une fois 0 et une fois 21000 (10000 + 11000) c'est certainement du au fait qu'on a deux fois le même résultat dans la colonne de résultat ?


Jean Yves
 
M

Monique

Guest
Bonjour,

Oui, c'est parce qu'il y a un doublon.
Mais SommeProd, c'était au cas où il n'y avait pas plusieurs fois la même valeur en colonne B.
Sinon, c'était Index Equiv Arrondi en matriciel.
 

Discussions similaires

  • Question
Microsoft 365 RECHERCHE and co
Réponses
18
Affichages
2 K

Statistiques des forums

Discussions
312 505
Messages
2 089 067
Membres
104 016
dernier inscrit
Mokson