Trouver les valeurs correspondantes à une donnée recherchée

Résolu/Fermé
Asma_28 Messages postés 6 Date d'inscription lundi 12 janvier 2015 Statut Membre Dernière intervention 14 janvier 2015 - 12 janv. 2015 à 17:54
Asma_28 Messages postés 6 Date d'inscription lundi 12 janvier 2015 Statut Membre Dernière intervention 14 janvier 2015 - 14 janv. 2015 à 11:32
Bonjour,

J'ai besoin d'aide pour un problème excel. J'ai besoin de trouver toutes les valeurs correspondantes à une donnée recherchée. Ses données doivent être renvoyées dans plusieurs cellules sur une même ligne.

Pour que ce soit plus clair voici la feuille 1 avec mes données et la feuille 2 avec les données que j'attends.






Merci pour votre aide.

6 réponses

Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
12 janv. 2015 à 19:05
Bonsoir,

comme tu travailles sur deux feuilles, je te conseille de nommer tes plages, exemple la plage Nom colonne A nomme la exemple Nom, la plage matériel colonne B nomme la exemple Matér

ensuite colle cette formule matricielle en H2 sur la feuille 2.
Une formule matricielle doit être confirmée en cliquant en même temps sur 3 touches du clavier (Ctrl, Shift et Entrée)= si tu fais bien la formule se placera entre accolades {}

=SI(LIGNES($1:1)+COLONNE()-4<=NB.SI(Matér;$G$2);INDEX(Nom;PETITE.VALEUR(SI(Matér=$G$2;LIGNE(INDIRECT("1:"&LIGNES(Matér))));LIGNES($1:1)+COLONNE()-4));"")

une fois la formule déclarée en matricielle, incrémente la vers la droite
1
Asma_28 Messages postés 6 Date d'inscription lundi 12 janvier 2015 Statut Membre Dernière intervention 14 janvier 2015
13 janv. 2015 à 10:16
Bonjour Mike-31,

J'ai suivi tes étapes (très claires) seulement en H2 je n'obtiens rien comme résultat alors que je devrais avoir a, c ou f comme en donnée. J'ai nommé les plages et copié la formule suivante en H2 :
=SI(LIGNES($1:1)+COLONNE()-4<=NB.SI(matér;$G$2);INDEX(nom;PETITE.VALEUR(SI(matér=$G$2;LIGNE(INDIRECT("1:"&LIGNES(matér))));LIGNES($1:1)+COLONNE()-4));"") -> validation matricielle. Peux-tu m'aider ?

Merci
0
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
Modifié par Mike-31 le 13/01/2015 à 16:47
Re,

dans la formule tu remarqueras ligne($1:1) qui renvoie1 sur la ligne de la première formule, si tu incrémentes vers le bas la formule se modifie ligne($1:2) pour la deuxième ligne, ligne($1:3) pour la troisième etc ...
comme le déplacement est horizontal on va ajouter la syntaxe colonne() de sorte que ligne($1:1)-colonne soit égale à 1 pour la colonne de création de la formule
la colonne H est la 8éme, et donc colonne() renvoie bien 8 et erreur de ma part
LIGNES($1:1)+COLONNE()-4 en colonne H ne renvoie pas 1 mais 5
il convient de modifier la formule en fonction de la colonne de création de la formule pour que la syntaxe dans formule en colonne H LIGNES($1:1)+COLONNE()-8
renvoie 1
et donc la formule

=SI(LIGNES($1:1)+COLONNE()-8<=NB.SI(Matér;$G$2);INDEX(Nom;PETITE.VALEUR(SI(Matér=$G$2;LIGNE(INDIRECT("1:"&LIGNES(Matér))));LIGNES($1:1)+COLONNE()-8));"")

à confirmer en matricielle bien sur

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
1
Asma_28 Messages postés 6 Date d'inscription lundi 12 janvier 2015 Statut Membre Dernière intervention 14 janvier 2015
14 janv. 2015 à 11:32
Bonjour Mike-31,

Merci beaucoup pour ton aide. La formule fonctionne très bien, grâce à toi je vais gagner enormément de temps. Tu peux m'expliquer le fonctionnement de cette formule plus en détail STP.
0
DjiDji59430 Messages postés 4167 Date d'inscription samedi 19 avril 2008 Statut Membre Dernière intervention 27 décembre 2024 682
12 janv. 2015 à 19:04
Bonjour,

Comme ça ?


Avec un TCD
0
Asma_28 Messages postés 6 Date d'inscription lundi 12 janvier 2015 Statut Membre Dernière intervention 14 janvier 2015
13 janv. 2015 à 10:17
Merci pour ton retour mais cela ne correspond pas à ma demande.

A+
0
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
13 janv. 2015 à 13:56
Re,

As tu bien déclaré ta formule en matricielle, regarde dans la barre des formules si elle apparait comme cela entre accolades

{ =SI(LIGNES($1:1)+COLONNE()-4<=NB.SI(Matér;$G$2);INDEX(Nom;PETITE.VALEUR(SI(Matér=$G$2;LIGNE(INDIRECT("1:"&LIGNES(Matér))));LIGNES($1:1)+COLONNE()-4));"") }
0
Asma_28 Messages postés 6 Date d'inscription lundi 12 janvier 2015 Statut Membre Dernière intervention 14 janvier 2015
13 janv. 2015 à 14:48
Oui j'ai bien les accolades
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
13 janv. 2015 à 14:58
Re,

dans quelle colonne as tu mis ta formule
0
Asma_28 Messages postés 6 Date d'inscription lundi 12 janvier 2015 Statut Membre Dernière intervention 14 janvier 2015
13 janv. 2015 à 15:25
Re,

En colonne H, cellule H2 comme tu me l'as demandé
0