Trouver les valeurs correspondantes à une donnée recherchée [Résolu/Fermé]

Signaler
Messages postés
6
Date d'inscription
lundi 12 janvier 2015
Statut
Membre
Dernière intervention
14 janvier 2015
-
Asma_28
Messages postés
6
Date d'inscription
lundi 12 janvier 2015
Statut
Membre
Dernière intervention
14 janvier 2015
-
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

Messages postés
17010
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
24 janvier 2020
3 770
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 83278 internautes nous ont dit merci ce mois-ci

Asma_28
Messages postés
6
Date d'inscription
lundi 12 janvier 2015
Statut
Membre
Dernière intervention
14 janvier 2015

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
Messages postés
17010
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
24 janvier 2020
3 770
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 83278 internautes nous ont dit merci ce mois-ci

Asma_28
Messages postés
6
Date d'inscription
lundi 12 janvier 2015
Statut
Membre
Dernière intervention
14 janvier 2015

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.
Messages postés
2550
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
23 janvier 2020
300
Bonjour,

Comme ça ?


Avec un TCD
Asma_28
Messages postés
6
Date d'inscription
lundi 12 janvier 2015
Statut
Membre
Dernière intervention
14 janvier 2015

Merci pour ton retour mais cela ne correspond pas à ma demande.

A+
Messages postés
17010
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
24 janvier 2020
3 770
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));"") }
Asma_28
Messages postés
6
Date d'inscription
lundi 12 janvier 2015
Statut
Membre
Dernière intervention
14 janvier 2015

Oui j'ai bien les accolades
Messages postés
17010
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
24 janvier 2020
3 770
Re,

dans quelle colonne as tu mis ta formule
Messages postés
6
Date d'inscription
lundi 12 janvier 2015
Statut
Membre
Dernière intervention
14 janvier 2015

Re,

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