Recherche dans base de données.

_Rems_

XLDnaute Nouveau
Bonjour à tous,
je me permet de venir chercher de l'aide car je suis de bonne volonté mais un peu limité sur Excel.
J'ai une base de données avec des lignes de différents types. J'ai trouvé comment affiché le maximum d'une colonne par rapport à un type. Ce que je n'arrive pas à faire, c'est mettre le texte de la ligne où se trouve le maximum. Par défaut, il va chercher avec Equiv et Index le texte de la première ligne contenant la valeur max, même si elle est d'un autre type.
Ma clarté laisse à désirer.Je joins donc un exemple de tableau.

Merci d'avance.
_Rems_
 

Pièces jointes

  • recherchecolonnemax.xls
    14 KB · Affichages: 200
  • recherchecolonnemax.xls
    14 KB · Affichages: 206
  • recherchecolonnemax.xls
    14 KB · Affichages: 203

Catrice

XLDnaute Barbatruc
Re : Recherche dans base de données.

Bonjour,

Ci joint un exemple.
=INDEX($C$9:$C$18;EQUIV(2&F12;$B$9:$B$18&$D$9:$D$18;0))
On fait une recherche concatenée

J'ai un peu modifié ta formule de MAX.
Et enlever la fusion des Cellules.
Les formules matricielles ne fonctionnent pas avec les cellules fusionnées.
 

Pièces jointes

  • recherchecolonnemax.xls
    14 KB · Affichages: 157
  • recherchecolonnemax.xls
    14 KB · Affichages: 173
  • recherchecolonnemax.xls
    14 KB · Affichages: 170

Catrice

XLDnaute Barbatruc
Re : Recherche dans base de données.

Re,

Un exemple un peu plus complexe qui pemet de rechercher sur 2 criteres.
Je crois que c'est plutot ça que tu voulais faire au debut (vu la formule avec 2 fois ($B$9:$B18=2))
 

Pièces jointes

  • recherchecolonnemax.xls
    14 KB · Affichages: 227
  • recherchecolonnemax.xls
    14 KB · Affichages: 247
  • recherchecolonnemax.xls
    14 KB · Affichages: 245

_Rems_

XLDnaute Nouveau
Re : Recherche dans base de données.

Catrice à dit:
Bonjour,

Ci joint un exemple.
=INDEX($C$9:$C$18;EQUIV(2&F12;$B$9:$B$18&$D$9:$D$18;0))
On fait une recherche concatenée

J'ai un peu modifié ta formule de MAX.
Et enlever la fusion des Cellules.
Les formules matricielles ne fonctionnent pas avec les cellules fusionnées.

C'est parfait. Je dois avouer que j'ai refait bêtement ce que tu viens de m'indiquer dans mon tableau sans tout comprendre, mais cela fonctionne.
Merci encore.
 

_Rems_

XLDnaute Nouveau
Re : Recherche dans base de données.

Catrice à dit:
Re,

Un exemple un peu plus complexe qui permet de rechercher sur 2 critères.
Je crois que c'est plutôt ça que tu voulais faire au début (vu la formule avec 2 fois ($B$9:$B18=2))

Effectivement, dans mon tableau, je fais des recherches de max avec plusieurs critères. Mais en appliquant ton exemple, et avec ces plusieurs critères, j'arrive à mes fins.
C'est donc un 10/10.
 

Catrice

XLDnaute Barbatruc
Re : Recherche dans base de données.

Re,

Il faut comprendre un peu...
Au lieu de rechercher la valeur MAX dans la colonne Valeur (130 dans l'exemple) on cherche la valeur MAX concatenée au critere (qui est 2). Car 130 existe 2 fois.

Donc on cherche : 2130 en faisant 2&F12 (le & concatene)

Et evidement il faut chercher dans une liste concatenée elle aussi.
Alors on cherche dans $B$9:$B$18&$D$9:$D$18 (voir le & au milieu)
Cette formule renvoie en realité les valeurs 1130, 2130, 3000, 2127 etc ...
On voit bien le 2130 qui nous interresse :)

Equive renvoie donc le N° de ligne correspondant dans la matrice.
Il ne reste plus qu'à l'indéxer sur les zone Texte
 
Dernière édition:

_Rems_

XLDnaute Nouveau
Re : Recherche dans base de données.

Catrice à dit:
Re,

Il faut comprendre un peu...
Au lieu de rechercher la valeur MAX dans la colonne Valeur (130 dans l'exemple) on cherche la valeur MAX concatenée au critere (qui est 2). Car 130 existe 2 fois.

Donc on cherche : 2130 en faisant 2&F12 (le & concatene)

Et evidement il faut chercher dans une liste concatenée elle aussi.
Alors on cherche dans $B$9:$B$18&$D$9:$D$18 (voir le & au milieu)
Cette formule renvoie en realité les valeurs 1130, 2130, 3000, 2127 etc ...
On voit bien le 2130 qui nous interresse :)

Equive renvoie donc le N° de ligne correspondant dans la matrice.
Il ne reste plus qu'à l'indéxer sur les zone Texte

Après recherche dans le dictionnaire du mot "concaténation" :)eek: ) et après une étude minutieuse de tes éléments de réponse, je pense pouvoir dire que j'ai compris le principe. :D
Il est bien entendu que j'essaye toujours d'assimiler les informations que l'on me donne. Mais avec mon cerveau d'huîtres, ce n'est pas toujours évident.
Merci de nouveau.
_Rems_
 

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 926
Membres
103 984
dernier inscrit
maliko67