fonction recherchev en partant du bas

pascal21

XLDnaute Barbatruc
bonjour à tous
je recherche une alternative à la fonction recherchev
celle ci donne la 1ere valeur trouvée en partant du haut de la liste
je souhaiterais en fait la meme fonction mais que ça me donne la dernière valeur cherchée
ex
en colonne A
j'ai plusieurs noms qui reviennent
en colonne B des valeurs

je vous mets un exemple car je ne vais pas y arriver
merci
 

Pièces jointes

  • fonction rechercheV.xls
    17 KB · Affichages: 300
  • fonction rechercheV.xls
    17 KB · Affichages: 281
  • fonction rechercheV.xls
    17 KB · Affichages: 272

job75

XLDnaute Barbatruc
Re : fonction recherchev en partant du bas

Bonjour Pascal, hoerwind,

Il me semble quand même que la formule que je viens de te proposer est quelque peu plus simple que celle que tu avais.

Place occupée en mémoire :

- formule du post #2 => 62 octets

- formule du post #3 => 50 octets...

Edit : c'est dû essentiellement à la fonction SI, gourmande en octets.

Cette formule "pèse" 52 octets :

Code:
=DECALER(B1;MAX((A1:A22=D2)*(LIGNE(1:22)-1));)
A+
 
Dernière édition:

ericquad

XLDnaute Nouveau
Bonjour
j'ai réussi à adapter votre fonction a mon tableau en modifiant les ref de cellules
ça marche trés bien un grand merci

mai je ne comprend pas à quoi sert "9^9" dans la formule
et de quelle façon vous obliger excel à faire la recherche en remontant et non en descendant
dans INDEX(B$1:B$30;RECHERCHE(9^9;EQUIV(2;1/(D2=A$1:A$30))))
merci
Eric
 

job75

XLDnaute Barbatruc
Bonjour ericquad,

C'est un peu compliqué à expliquer.

On peut remplacer la formule de pascal21 par cette formule matricielle :
Code:
=INDEX(B$1:B$30;EQUIV(2;1/(D2=A$1:A$30)))
Dans EQUIV le 3ème argument est omis, EQUIV renvoie donc la position du dernier 1
de la matrice 1/(D2=A$1:A$30), soit 19.

La fonction RECHERCHE permet d'éviter la validation matricielle.

Son 1er argument doit être >= au numéro de ligne renvoyé par EQUIV.

Au lieu de 9^9 on pourrait mettre 1048576, nombre de lignes maximum d'une feuille Excel.

Mais 9^9 est plus simple et "pèse" 2 octets de moins.

A+
 

job75

XLDnaute Barbatruc
Re,

En fait puisque le seul but de RECHERCHE est d'éviter la validation matricielle il y a plus simple :
Code:
=INDEX(B$1:B$30;SOMMEPROD(EQUIV(2;1/(D2=A$1:A$30))))
qui pèse 43 octets, soit 7 octets de moins que la formule de pascal21 au post #3.

A+
 

Pièces jointes

  • fonction rechercheV(1).xls
    62.5 KB · Affichages: 83

ericquad

XLDnaute Nouveau
Bonjour Job75
J'avais soupssoné une explication dans ce genre
mais ne serais pas capable de la mettre en oeuvre
grande invention que le "copier collé"
tes explication me permettent d'avancer un peut
je vais essayer de mettre en place la formule avec somme prod que je maitrise mieux
et que je trouve moins empirique
merci
Eric
 

Discussions similaires

Statistiques des forums

Discussions
314 145
Messages
2 106 365
Membres
109 564
dernier inscrit
db974run