Rechercher la valeur suivante

Phifou63

XLDnaute Nouveau
Bonjour,

Depuis une base de donnée je recherche une valeur avec la formule
Cellule A1 =INDEX(Comparaison!A:A;EQUIV(Comparaison!$B$2&ED!$A$1;Comparaison!B:B&Comparaison!C:C;0))
Dans ma base de donnée plusieurs lignes correspondent a ces critères
Je cherche en vain comment mettre dans la cellule A2 la valeur suivant et ainsi de suite jusqu’à la dernière

Merci de votre aide
 

Jocelyn

XLDnaute Barbatruc
Re : Rechercher la valeur suivante

Bonjour le Forum,
Bonjour phifou63,

si tu mets un petit fichier exemple de quelques lignes sans données confidentielles tu nous aideras a t'aider, comme ca je peux juste te dire de passer par une petite.valeur a la place de l'equiv

Cordialement
 

Phifou63

XLDnaute Nouveau
Re : Rechercher la valeur suivante

Bonjour Jocelyn,

Je joins un fichier réduit a son plus simple élément.
Si je remplace EQUIV par PETITE.VALEUR comment je peux mettre mes critères de recherche?

j'espère que le fichier te parlera plus.

Merci de ton aide
 

Pièces jointes

  • Classeur1.xlsx
    17.2 KB · Affichages: 74
  • Classeur1.xlsx
    17.2 KB · Affichages: 59

CISCO

XLDnaute Barbatruc
Re : Rechercher la valeur suivante

Bonsoir

Cf. en pièce jointe, avec une formule matricielle à valider avec Ctrl+maj+entrer, et pas simplement avec entrer.

@ plus
 

Pièces jointes

  • Classeur1.xlsx
    16.1 KB · Affichages: 135
  • Classeur1.xlsx
    16.1 KB · Affichages: 95

Phifou63

XLDnaute Nouveau
Re : Rechercher la valeur suivante

Bonjour Cisco,

Merci ta formule fonctionne
J'avais commencé a chercher avec PETITE.VALEUR comme conseillait Jocelyn
et j'en était arrivé a : =PETITE.VALEUR(SI((Comparaison!B:B=Comparaison!B2)*(Comparaison!C:C='Liste Tonton'!A1);Comparaison!A:A);2)
Qui fonctionne mais par contre je ne sais pas comment remplacer le 2 afin qu'il s’incrémente quand je tire la formule

Dans ta formule j'ai vu que tu utilises LIGNE($1:200));LIGNE(1:1) peux tu m'expliquer comment ca marche.

Merci de votre aide
 

CISCO

XLDnaute Barbatruc
Re : Rechercher la valeur suivante

Bonsoir

Ma formule fonctionne presque comme la tienne.

(Comparaison!B:B=Comparaison!B2) *(Comparaison!C:C='Liste Tonton'!A1) renvoie 1 pour certaines lignes.

SI((Comparaison!B:B=Comparaison!B2) *(Comparaison!C:C='Liste Tonton'!A1);Comparaison!A:A) renvoie pour ces lignes le contenu de la colonne Comparaison!A:A.

PETITE.VALEUR(SI((Comparaison!B:B=Comparaison!B2)*(Comparaison!C:C='Liste Tonton'!A1);Comparaison!A:A);1) renvoie le contenu de la colonne Comparaison!A:A de la première de ces lignes renvoyant 1

PETITE.VALEUR(SI((Comparaison!B:B=Comparaison!B2)*(Comparaison!C:C='Liste Tonton'!A1);Comparaison!A:A);2) renvoie le contenu de la colonne Comparaison!A:A de la deuxième de ces lignes renvoyant 1

Pour avoir tous les contenus, tu peux faire avec
PETITE.VALEUR(SI((Comparaison!B:B=Comparaison!B2)*(Comparaison!C:C='Liste Tonton'!A1);Comparaison!A:A);LIGNE(1:1))
Lorsque tu tireras cette formule vers le bas, le LIGNE(1:1) se transformera en LIGNE(2:2), puis en LIGNE(3:3) et ainsi de suite, ce qui te donnera le contenu de la deuxième, puis de la troisième et ainsi de suite de ces lignes.

Cela fonctionne ainsi parce que tu n'as que des valeurs numériques dans la colonne A:A, et que par conséquent, tu peux utiliser directement la fonction PETITE.VALEUR.

Ma proposition fonctionne presque de la même manière, mais est aussi applicable à une colonne A contenant du texte.
INDEX(Comparaison!A:A; "sélectionne" la colonne A
SI(Comparaison!$B$2&'Liste Tonton'!$A$1=Comparaison!B:B&Comparaison!C:C;LIGNE($1:200)) renvoie le N° des lignes renvoyant VRAI au test Comparaison!$B$2&'Liste Tonton'!$A$1=Comparaison!B:B&Comparaison!C:C

PETITE.VALEUR(SI(Comparaison!$B$2&'Liste Tonton'!$A$1=Comparaison!B:B&Comparaison!C:C;LIGNE($1:200));LIGNE(1:1))) renvoie le plus petit de ces n° de ligne.

INDEX(Comparaison!A:A;PETITE.VALEUR(SI(Comparaison!$B$2&'Liste Tonton'!$A$1=Comparaison!B:B&Comparaison!C:C;LIGNE($1:200));LIGNE(1:1))) ) renvoie le contenu de cette ligne dans la colonne A. On peut bien sûr remplacer le 200 par un nombre plus grand, en fonction de la hauteur de la plage intéressante dans la feuille Comparaison.

En résumé, dans ta formule, PETITE.VALEUR travaille directement sur les valeurs numériques de la colonne Comparaison!A, dans la mienne, PETITE.VALEUR travaille avec les n° de lignes.

Conclusion : Ta formule est moins polyvalente que ma proposition, mais mieux adaptée à ton besoin puisque tu n'as que des nombres dans la colonne A.

@ plus
 
Dernière édition:

Phifou63

XLDnaute Nouveau
Re : Rechercher la valeur suivante

Bonsoir Cisco,

Tes explications sont super claire et pense avoir tout compris.
Je garde ta formule car je vais en avoir besoin dans un autre cas ou j'ai du texte,
Mais surtout j'archive tes explications qui me seront précieuses pour une prochaine fois

merci beaucoup a tous
 

Discussions similaires

Statistiques des forums

Discussions
314 222
Messages
2 107 479
Membres
109 831
dernier inscrit
Alammo53