Recherche verticale inversée

Résolu/Fermé
wiins - 5 sept. 2018 à 16:00
 wiins - 5 sept. 2018 à 19:29
Bonjour à la communauté.
La fonction RECHERCHEV ne retrouve que la première occurence lors d'un traitement. Est-il possible de contourner cet obstacle pour retrouver plutôt la dernière svp?
A voir également:

3 réponses

Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 082
5 sept. 2018 à 16:51
Bonjour,

sous réserve d'avoir bien compris, tu as plusieurs valeurs identiques et tu souhaite extraire la dernière contrairement à la RECHERCHEV qui extrait la première
si c'est cela tu peux utiliser cette formule matricielle qu'il faudra confirmer en cliquant en même temps sur les trois touche du clavier Ctrl, Shift et Entrée et si tu fais bien la formule se placera entre ces accolades {}

exemple valeur de référence recherché entre D2 et D15, valeur critère de recherchée en F1 et valeur à extraire entre E2 et E15

=MAX(SI(D2:D15=F1;E2:E15;0))
0
Bonjour Mike 31 et merci pour la réponse que j'ai du mal à comprendre... En fait sur la feuille 1 d'un fichier , j'ai des références pour lesquelles je dois indiquer des quantités; celles-ci se trouvant sur la feuille 2 avec les références. Mon souci est celui-ci: la feuille 2 peut contenir la même référence plusieurs fois avec des quantités différentes. La feuille 2 suivant un ordre chronologique, je veux la quantité de la dernière occurence sur la feuille 2 en faisant une recherche verticale. J'aurai bien aimé vous montré présenter le document mais j'ai du mal à valider mon inscription.
0
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 082
5 sept. 2018 à 17:20
Re,
pour joindre ton fichier
1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier (15 Mo maxi)
3) Tu défiles vers le bas pour cliquer sur le bouton bleu [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien en gras ; tu fais un clic-droit dessus et tu choisis "Copier le lien"
5) Tu reviens dans ta discussion sur CCM, et dans ton message tu fais "Coller".
=>Voir la fiche https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers

dans le même style tu as https://mon-partage.fr/

sur les mêmes critère que précédemment tu as toujours en matricielle
=INDEX($C$1:$C$500;MAX(SI(A$2:A10=G1;LIGNE(A$2:A10))))
0
Merci MIke.
Voici le fichier. https://www.cjoint.com/c/HIfpCZarV8H
Cdt
0
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 082
5 sept. 2018 à 18:17
Re,

C'est bien cela mais tu n'as pas correctement déclaré ta matricielle
double clic sur ta cellule B2 pour l'activer puis clic en même temps sur les trois touche du clavier Ctrl, Shift et Entrée et si tu fais bien la formule se placera entre ces accolades {}

mais avant remplace ta formule B2 par celle ci dessous qui marchera mieux
=INDEX('Feuil 2'!$B$2:$B$25;MAX(SI('Feuil 2'!$A$2:$A$25=A2;LIGNE('Feuil 2'!$A$2:$A$25)-1)))

Les formules matricielles consomment pas mal de ressource système il serait souhaitable de limiter tes matrices exemple $A$2:$A$25 et non A:A qui oblige le système à boucler sur toutes les lignes de ta feuille

ensuite comme les données sont sur une feuille différente il serait souhaitable de nommer tes plages pour alléger le fichier, exemple la plage 'Feuil 2'!$B$2:$B$25 nommée Quant
et 'Feuil 2'!$A$2:$A$25 nommée Réf
ta formule toujours déclarée en matricielle se simplifie à

=INDEX(Quant;MAX(SI(Réf=A2;LIGNE(Réf)-1)))
0
Yessssssss MIke-31. C'est du propre! Merci beaucoup. Je tiendrai compte de vos remarques sur mon fichier définitif. Bonne soirée à vous
0
Raymond PENTIER Messages postés 58484 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 6 juin 2024 17 128
5 sept. 2018 à 18:35
... et si tu te contentais de trier dans l'ordre chronologique inverse ?
ça se fait en un clin d'œil et tu n'as pas à modifier ta formule !
0