Recherche multi critère dans un tableau

  • Initiateur de la discussion Initiateur de la discussion MC44
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

MC44

Guest
Bonjour à tous,

Je cherche à extraire les valeurs de la première ligne d'un tableau en fonction de critères contenus dans les 3 premières colonnes de ce tableau. Je joins à ma demande un fichier qui je l'espère vous aidera à une meilleure comprehension. J'ai fait quelques essais avec des fonctions index,equiv ou recherche qui se sont hélas révélés être infructueux.
Je vous remercie par avance de votre aide.
 

Pièces jointes

Re : Recherche multi critère dans un tableau

Bonjour MC44,

Avec une plage nommée "laLigne" (faisant référence à
Code:
=DECALER(Sheet1!$C$9:$M$9;EQUIV(Sheet1!$A$1&Sheet1!$B$1;Sheet1!$A$9:$A$20&Sheet1!$B$9:$B$20;0)-1;0)
... voir Formules > Gestionnaire de noms), un simple INDEX - EQUIV fait "le reste" ... Si j'ai bien compris!?
 

Pièces jointes

Re : Recherche multi critère dans un tableau

Bonjour MC44,

Avec une plage nommée "laLigne" (faisant référence à
Code:
=DECALER(Sheet1!$C$9:$M$9;EQUIV(Sheet1!$A$1&Sheet1!$B$1;Sheet1!$A$9:$A$20&Sheet1!$B$9:$B$20;0)-1;0)
... voir Formules > Gestionnaire de noms), un simple INDEX - EQUIV fait "le reste" ... Si j'ai bien compris!?

Bonjour Modeste,
Merci beaucoup pour votre réponse rapide ET efficace.
Vous avez parfaitement compris le besoin. En ce qui me concerne il me faudra beaucoup plus de temps pour comprendre la logique du code qu'à vous pour me répondre.😱
Bonne continuation sur ce forum.
 
Re : Recherche multi critère dans un tableau

Bonjour Modeste,
Merci beaucoup pour votre réponse rapide ET efficace.
Vous avez parfaitement compris le besoin. En ce qui me concerne il me faudra beaucoup plus de temps pour comprendre la logique du code qu'à vous pour me répondre.😱
Bonne continuation sur ce forum.

Bonjour Modeste,

Je me permets de solliciter une fois encore votre aide.
Je souhaiterais aller encore un peu plus loin dans la formule en cherchant non plus cette fois en C1 un chiffre mais une lettre qui serait intégrée dans des chaines de caratères du tableau.
Je joins le fichier à ma demande. Cela sera peut-être plus explicite.
Merci d'avance.
 

Pièces jointes

Re : Recherche multi critère dans un tableau

Bonjour,

MC44 à dit:
en cherchant non plus cette fois en C1 un chiffre mais une lettre qui serait intégrée dans des chaines de caratères du tableau.
Ouille!!

Euh, au passage, ce n'était pas en C1 qu'on cherchait un chiffre, mais c'est dans laLigne qu'on recherchait la valeur figurant en C1 😕

Pour cette nouvelle question, il faut que tu sois certain qu'une seule valeur par ligne contiendra un 'x'! En tout cas la formule ci-dessous ne trouvera que la première occurence dans la ligne concernée.
Si c'est toujours un 'x' qu'il faut chercher dans une chaîne, tu peux essayer:
Code:
=INDEX($C$13:$M$13;EQUIV(VRAI;ESTNUM(CHERCHE("*x*";laLigne));0))

Si ce caractère risque de changer et que tu veux utiliser le contenu de C1 dans la formule, teste:
Code:
=INDEX($C$13:$M$13;EQUIV(VRAI;ESTNUM(CHERCHE("*"&C1&"*";laLigne));0))

Attention: dans les 2 cas, une fois la formule collée en D1, il faut valider avec Ctrl+Shift+Enter
Re-attention: si tu utilises la seconde, il faudra sans doute encore la modifier un peu (prévoir le cas où C1 serait vide!?)
 
Re : Recherche multi critère dans un tableau

Bonjour,

Ouille!!

Euh, au passage, ce n'était pas en C1 qu'on cherchait un chiffre, mais c'est dans laLigne qu'on recherchait la valeur figurant en C1 😕

Pour cette nouvelle question, il faut que tu sois certain qu'une seule valeur par ligne contiendra un 'x'! En tout cas la formule ci-dessous ne trouvera que la première occurence dans la ligne concernée.
Si c'est toujours un 'x' qu'il faut chercher dans une chaîne, tu peux essayer:
Code:
=INDEX($C$13:$M$13;EQUIV(VRAI;ESTNUM(CHERCHE("*x*";laLigne));0))

Si ce caractère risque de changer et que tu veux utiliser le contenu de C1 dans la formule, teste:
Code:
=INDEX($C$13:$M$13;EQUIV(VRAI;ESTNUM(CHERCHE("*"&C1&"*";laLigne));0))

Attention: dans les 2 cas, une fois la formule collée en D1, il faut valider avec Ctrl+Shift+Enter
Re-attention: si tu utilises la seconde, il faudra sans doute encore la modifier un peu (prévoir le cas où C1 serait vide!?)

TOP.
Je viens de tester la première formule et elle répond trés bien à mes besoins. Effectivement je serai vigilent à ce qu'il n'y ait qu'une occurrence par ligne du caractère utilisé.
Encore merci pour ta patience et tes réponses trés pertinentes.
 
Re : Recherche multi critère dans un tableau

Bonjour Modeste,
J'ai une autre demande sur un mode un peu identique avec 2 critères et sans redondance :


B1 : mars C1 :avril D1 :mai E1 :juin
A4 : 100 1625 1629 1634 1642
A5 : 200 1621 1623 1640 1648
A6 : 300 1614 1614 1621 1623
A7 : 400 1615 1618 1627 1642
Je prends la valeur 200 et 1640 et la formule me renvoie mai
J'ai fais quelques manip mais cela ne focntionne pas.
Merci par avance de ton aide
 
Re : Recherche multi critère dans un tableau

Bonjour,

La première interrogation serait: "cette questiobn a-t-elle encore un rapport avec le titre du message initial?"
Si non, ouvre un nouveau fil.
Si oui, joins un petit bout de fichier (plutôt que de nous obliger à en recréer un de toutes pièces) et re-précise ta demande, si tu veux bien. Dans le fichier, tu indiqueras dans quels cas tel résultat doit être obtenu et pourquoi ... toujours si tu veux bien 😉
 
Re : Recherche multi critère dans un tableau

Bonjour Modeste,

Je te confirme que le sujet est toujours en relation avec le titre.
Je joins à ce message un fichier qui explique le besoin.
J'ai dans le laps de temps continué à regarder en repartant de ta formule avec "LaLigne" en enlevant un critère.
Cela fonctionne bien. Cependant existerait-il selon toi plus simple?
Merci d'avance de ton aide
P.S. : Existe-il une solution si j'ai deux valeurs identiques dans la tables (exemple B6 et C6)?
 

Pièces jointes

Re : Recherche multi critère dans un tableau

Bonsoir,

De ton exemple, je ne vois pas bien le lien avec la première demande, puisque là, il fallait trouver dans une ligne correspondant à un nom et un prénom donnés, une valeur spécifique. Ici, ça me semble plus simple!?

Tu as transformé la formule proposée au départ en une formule matricielle 😕 Je n'en vois pas vraiment la raison?

Avec ton dernier exemple, on n'est même pas contraints d'utiliser la plage nommée ("laLigne"): en H4, tu peux écrire
Code:
=INDEX($B$3:$E$3;1;EQUIV(G4;DECALER($B$3:$E$3;EQUIV(G3;$A$4:$A$9;0);0);0))

Pour ce qui est de ta question sur "que faire s'il y a plusieurs fois le même montant sur une ligne?" la réponse sera: "tout dépend de ce que tu cherches à obtenir!?"

[Edit:] allez, faisons une hypothèse raisonnable sur ce que tu chercherais à obtenir! Jette un œil à la pièce jointe et aux cellules bleues. Là, la formule est matricielle!
 

Pièces jointes

Dernière édition:
Re : Recherche multi critère dans un tableau

Bonjour Modeste,

Un double merci. Tout d'abord pour la simplification de la formule qui était ce que je cherchais sans succès. Je me suis fourvoyé avec une adaptation de la formule matricielle que tu m'avais fournie lors de nos précédents échanges.
Ensuite pour l'hypothèse non seulement raisonnable mais aussi trés pertinente que tu as prise dans le fichier joint.
Bonne continuation sur ce trés bon site.

Bonsoir,

De ton exemple, je ne vois pas bien le lien avec la première demande, puisque là, il fallait trouver dans une ligne correspondant à un nom et un prénom donnés, une valeur spécifique. Ici, ça me semble plus simple!?

Tu as transformé la formule proposée au départ en une formule matricielle 😕 Je n'en vois pas vraiment la raison?

Avec ton dernier exemple, on n'est même pas contraints d'utiliser la plage nommée ("laLigne"): en H4, tu peux écrire
Code:
=INDEX($B$3:$E$3;1;EQUIV(G4;DECALER($B$3:$E$3;EQUIV(G3;$A$4:$A$9;0);0);0))

Pour ce qui est de ta question sur "que faire s'il y a plusieurs fois le même montant sur une ligne?" la réponse sera: "tout dépend de ce que tu cherches à obtenir!?"

[Edit:] allez, faisons une hypothèse raisonnable sur ce que tu chercherais à obtenir! Jette un œil à la pièce jointe et aux cellules bleues. Là, la formule est matricielle!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
10
Affichages
423
Réponses
4
Affichages
360
  • Question Question
XL 2019 fonction
Réponses
2
Affichages
169
Retour