fonction sur matrice renvoie d'un vecteur

  • Initiateur de la discussion Initiateur de la discussion remsnorky
  • 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 !

remsnorky

XLDnaute Nouveau
Bonjour,
Je suis nouveau.🙂

Je souhaite trouver une fonction du type recherche mais qui me renvoie un vecteur ou une matrice :
Dans la colonne A il y a des noms. dans la colonne B, des formes. et les autres colonnes sont des caractéristiques associés à chaque forme et nom.
Toutefois, dans la colonne A il peut apparaitre plusieurs fois le même nom, de même pour les autres colonnes en fait.
si j'utilise la fonction recherchev("nom1";matrice;2;Faux) je n'ai au mieux qu'une seule valeur. Or je veut toutes la matrice qui satisfait que le nom1 soit renvoyer par la fonction.
En faite le logicielle recompose la matrice en ne sélectionnant que les colonnes à partir de la colonne B, avec les ligne qui avaient "nom1" dans leurs ligne en colonne A.😕

Cette fonction permettra d'avoir une liste conditionnelle pour le choix de la forme, et permettra de recopier les caractéristique données.
je vous donne un exemple Excel ci joint.

merci d'avance.
 

Pièces jointes

Re : fonction sur matrice renvoie d'un vecteur

Bonjour,
Merci de votre réponse, désoler pour le temps, je n'avez pas accès a internet pendant un moment.
Cela ma l'air très compliquer, je vais essayer de décortiquer tout ça pour comprendre comment ça marche, j'espère que je vais comprendre.

encore merci.
 
Re : fonction sur matrice renvoie d'un vecteur

re,
j'ai un problème : j'ai modifier la formule du nom pour l'utilisation que j'en fait, mais cela m'affiche une division par 0 #div0

SI(LIGNES(P$2😛2)<=SOMME(1/NB.SI(B$3:B$500;B$3:B$500));INDEX(B$1:B$500;MIN(SI(NB.SI(P1😛$1;B$3:B$500)=0;LIGNE(B$3:B$500))));"")

j'ai regarder, la seule division qu'il y a est 1/NB.SI(B$3:B$500;B$3:B$500) et quand j’écris sur une autre case : =NB.SI(B$3:B$500;B$3:B$500) cela fait 13,
 
Dernière édition:
Re : fonction sur matrice renvoie d'un vecteur

Bonjour

Comme cela fait déja un certain temps que j'ai écri ces formules, j'ai un peu oublié le pourquoi du comment. Pour me faciliter la tâche, ne pourrais tu mettre en pièce jointe le fichier posant problème ?

@ plus
 
Re : fonction sur matrice renvoie d'un vecteur

Oui,
je donne si joint mon fichier Excel en question, j'ai essayer de reproduire la formule de l'exemple que tu ma fourni si dessus :
feuil2!A4 qui pour mon fichier est en P2 et rapporte les données de la Tuyau!B3:b500
 

Pièces jointes

Re : fonction sur matrice renvoie d'un vecteur

Bonsoir remsnorky,
Bonsoir CISCO,
en P2 :
Code:
=SI(LIGNES($2:2)<=SOMME(SI(B$3:B$500<>"";1/NB.SI(B$3:B$500;B$3:B$500)));INDEX(B$3:B$500;MIN(SI(NB.SI(P$1:P1;B$3:B$500)=0;LIGNE(INDIRECT("1:"&LIGNES(B$3:B$500))))));"")
@ valider par Ctrl+Maj+Entree
@ tirer vers le bas
Amicalement
 
Re : fonction sur matrice renvoie d'un vecteur

Bonsoir @ tous,
Les formules matricielles avec des grandes plages vont ralentir le fonctionnement de ton fichier, alors il vaut mieux de passer par une colonne intermediaire et une formule classique...
en L3 :
Code:
=SI(NB.SI(B$3:B3;B3)=1;MAX(L$2:L2)+1;"")

en P2 :
Code:
=SI(LIGNES($2:2)<=MAX(L$3:L$500);INDEX(B$3:B$500;EQUIV(LIGNES($2:2);L$3:L$500;0));"")

Les deux formules @ valider par simple Entree et @ tirer vers le bas.

Voir PJ.
Bonnne Soiree
 

Pièces jointes

Re : fonction sur matrice renvoie d'un vecteur

Bonjour à tous, bonjour Rachid

Remsnorky, je n'avais pas bien compris ta demande la première fois. Il y a beaucoup plus simple... Cf. en pièce jointe. Cela fonctionne avec des listes déroulantes définies (Données --> "Validation de données" --> "Autoriser" -->"liste") avec
Code:
=DECALER($C$3;EQUIV($P4;$B$4:$B$500;0);;NB.SI($B$3:$B$500;$P4))

à condition que les noms identiques soient regroupés ensemble comme tu l'as fait, et pas en vrac dans la colonne B. En effet cette définition va chercher le premier texte contenu dans P4 dans la colonne B, et crée un pavé de hauteur NB.SI($B$3:$B$500;$P4)). Ce pavé, c'est la liste déroulante en Q4. Si tous les noms identiques ne sont pas ensemble, cette liste te renverra n'importe quoi, mais pas forcément les formes correspondant à P4.

Tu peux tirer les formules comme les listes déroulantes vers le bas. Par contre, tu ne peux pas mettre le pavé P3:AC13 sur une autre feuille que tuyau.

@ plus
 

Pièces jointes

Dernière édition:
- 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

Discussions similaires

Réponses
6
Affichages
703
Retour