Classement par formule matricielle

Frédo_Boyé

XLDnaute Nouveau
Bonjour,

je suis nouveau, et j'espère que mon post respectera toutes vos règles.

Voilà mon problème:
J'ai un tableau dans lequel je fais un suivi de défauts de peinture, et ce chaque mois.
Les données sont extraite à partir d'un TDC .
A chaque mois j,aimerais faire un classement des 5 défauts les plus fréquents. Je pense qu'une formule matricielle pourrait faire mon bonheur, mais ne suis pas familier avec ce type de formule dont je viens de découvrir l’existence.
Dans le tableau en pièce jointe:
en B41 devrait s'afficher la valeur la plus grande, et de façon décroissante enB42 B43 B44 et B45.
En A41 A42 A43 A44 et A45 la désignations des défauts correspondants aux valeurs de la colonne B.

Par avance merci de votre aide
 

Pièces jointes

  • analyse défauts.xlsx
    16.4 KB · Affichages: 29

CISCO

XLDnaute Barbatruc
Bonsoir

Pas besoin de formule matricielle : Tu peux faire avec
Code:
INDEX($A$3:$A$36;EQUIV(GRANDE.VALEUR(B$3:B$36;LIGNES($1:1));B$3:B$36;0))
formule à tirer vers le bas et vers la droite

@ plus
 
Dernière édition:

Frédo_Boyé

XLDnaute Nouveau
Bonsoir

Pas besoin de formule matricielle : Tu peux faire avec
Code:
INDEX($A$3:$A$36;EQUIV(GRANDE.VALEUR(B$3:B$36;LIGNES($1:1));B$3:B$36;0))
formule à tirer vers le bas et vers la droite

@ plus[/QUOTE

merci.
J'ai collé ta formule dans A41, jusque là ça va. mais lorsque j'étire la formule vers le bas, dans A43, A44 et A45, il s'inscrit: "graine" dans chacune des cellule
 

Frédo_Boyé

XLDnaute Nouveau
=INDEX($A$3:$A$36;EQUIV(GRANDE.VALEUR(B$3:B$36;LIGNE()-39);SI($A$3:$A$36<>B39;B$3:B$36);0))

Merci.
A quoi sert la cellule B39 ?
Ça ne fonctionne pas tout à fait. Quand je copie la formule (et fait ctrl+maj+entrée), il s'inscrit la désignation d'un défaut, mais ce n'est pas celui qui à la plus grande occurence en colonne B. et si j'étire vers le bas, les 3 lignes suivantes sont "graine" alors qu'il n,aparait qu'une seule fois normalement dans le tableau d'origine.
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

la formule est en ligne 40 donc ligne()-39=1
Quand tu recopies vers le bas tu es sur la ligne 41 -39=2
etc..
tu peux modifier comme suit:
Code:
=INDEX($A$3:$A$36;EQUIV(GRANDE.VALEUR(B$3:B$36;LIGNE(1:1));SI($A$3:$A$36<>B39;B$3:B$36);0))
 

Pièces jointes

  • analyse défauts.xlsx
    17.4 KB · Affichages: 20

Frédo_Boyé

XLDnaute Nouveau
Bonjour,

Merci a vous deux.
CISCO, quand est-il si je veux finalement faire un top 5. J'étire la formule, mais ça recopie simplement la 3e ligne en 4e et 5e ligne ?

JHA, le tableau du fichier que je vous ai transmis est une version courte et plus légère. Lorsque je recopie la formule sur la page mon fichier, que j'adapte les champs au tableau, je valide en ctrl+shift+enter, j'obtiens: #nombre!, qu'ai je fais de pas correct ?
 

CISCO

XLDnaute Barbatruc
Bonsoir

Bonjour,
Merci a vous deux.
CISCO, quand est-il si je veux finalement faire un top 5. J'étire la formule, mais ça recopie simplement la 3e ligne en 4e et 5e ligne ?

Comme tu as plusieurs ex-æquo (plusieurs défauts à 3 dans la colonne B), la formule renvoie le défaut correspondant toujours au premier de ces ex-æquo, d'où les répétitions. Cela aurait pu aussi arriver pour des premiers ou des seconds ex-æquo.


La nouvelle formule en pièce jointe contourne ce problème en donnant un peu de poids au n° de la ligne, ainsi 3 devient par ex 3,018 ou 3,025... et il ni a plus d’ex-æquo.

@ plus

P.S : Le défaut du système, c'est que maintenant, tu ne vois pas que certains défauts sont ex-æquo.
 

Pièces jointes

  • analyse défauts.xlsx
    17.4 KB · Affichages: 39

Frédo_Boyé

XLDnaute Nouveau
Non, je n'ai pas tant de données, 42 lignes, c'était juste pour ne pas avoir avoir 42 lignes à remplir pour faire le fichier bidon.
voici mes formules à partir de la proposition de:
CISCO: =INDEX($D$39:$D$85;EQUIV(GRANDE.VALEUR(E$39:E$85;LIGNES($31:31));E$39:E$85;0))

JHA: =INDEX($D$39:$D$85;EQUIV(GRANDE.VALEUR(E$39:E$85;LIGNE()-39);SI($D$39:$D$85<>E89;E$52:E$85);0))
 

Statistiques des forums

Discussions
314 562
Messages
2 110 729
Membres
110 909
dernier inscrit
François19