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 !
j'ai un tableau excel avec 3 colonnes (Lettre - Couleur - Points)
Je souhaite faire la somme des 5 meilleurs résultats de chaque couleur.
j'arrive à récuperer les 5 meilleurs résultats de mon tableau avec la fonction "GRANDE.VALEUR(B2:B26;1)" mais je n'arrive pas à integrer la couleur comme critère.
Pas certain d'avoir bien compris ta demande ... Un essai en pièce jointe. Tes commentaires permettront, si nécessaire, de rectifier le tir. Dans cette hypothèse, essaie d'étre le plus précis et circonstancié possible.
Ca fait 20 minutes que je bataille sans arriver à rien. J'ai compris comme toi, mais je n'ai pas trouvé de solutions.
Peux tu m'expliquer le fonctionnement de ta formule (je cherche à me familiariser avec les matricielles).
Ai-je bien compris: moi je dois t'expliquer ... à toi!? ... mais quelle partie de la formule?
- si on essaie, dans une cellule ""=GRANDE.VALEUR($C$2:$C$27;1), on obtient simplement LA plus grande valeur de toute la colonne "points" (comme si on avait utilisé la fonction MAX)
- pour faire varier le second argument (le rang de la valeur) puisqu'on veut les 5 premières valeurs, modifions la formule comme suit "=GRANDE.VALEUR($C$2:$C$27;LIGNES($1:1))", on peut gaiement recopier la formule vers le bas (sur 4 lignes supplémentaires), pour obtenir les 5 plus grandes valeurs
- reste à dire à Excel qu'il doit faire la même opération pour chaque couleur représentée en colonne B. Pour faciliter le travail et créer un tableau à double entrée (une colonne par couleur et une ligne par "rang"), j'inscris les couleurs en E1:H1. J'ajoute ensuite dans la formule, comme condition qu'il ne faut prendre en considération les nombres de la plage C2:C27 que si la couleur présente en B2:B27 correspond à celle figurant en E1
... Euh ... Est-ce ce cheminement que tu espérais me voir expliquer ou tout autre chose?
@Gillus69: Tu noteras que je ne me propose pas pour expliquer les formules de Rachid qui a encore plus automatisé les choses 😉 ... c'est en partie la raison de ma surprise par rapport à ta demande: je ne dois pas être une sommité en matière de formules matricielles (et puis, va savoir pourquoi, j'avais le sentiment que tu devais connaître, te débrouiller ou maîtriser?) Ceci dit, si j'ai répondu à ta question, c'était bien volontiers 🙂
Juste une question, pourquoi lorsque je veux reprendre les formules et les adaptés à un autre tableau çà ne fonctionne pas ?
Si je met { au début de la formule, j'ai ma formule qui s'affiche comme du texte, si je laisse le = j'ai 0 en retour
C'est cette condition qui nécessite la validation de la formule en matriciel.
Pourquoi ? Là je ne peux te donner que mon avis (la manière dont je crois comprendre le processus) :
Comparons la même formule avec ou sans condition :
1 Sans condition :
Code:
=GRANDE.VALEUR($C$2:$C$27;LIGNES($1:1))
Rentre cette formule et valide-là, puis clique à droite de la parenthèse entrante.
La formule et les 2 arguments apparaissent en dessous de la barre de formules.
Clique sur l'argument "matrice" pour la mettre en surbrillance puis tape sur la touche F9 de ton clavier : tu vois alors la matrice se développer, ce qui donne :
Tu peux constater que l'ensemble des items de la matrice renvoie leur valeur.
La matrice est donc affichée et la fonction peut faire son travail de traitement dessus.
Maintenant, procédons de la même manière avec la formule comportant la condition.
Tu peux t'apercevoir que les valeurs ne répondant pas à la condition posée donnent "FAUX".
Cela signifie que la matrice a déjà subi un 1er traitement permettant de ne dégager que les valeurs répondant à la condition, valeurs sur lesquelles la formule va pouvoir s'appliquer.
C'est comme si la matrice avait été "scannée" une 1ère fois pour vérifier quelles sont les valeurs répondant à la conditions, puis le k recherché (argument 2 de GRANDE.VALEUR) est ensuite trouvé parmi ces arguments sélectionnés.
La formule ne recherche donc pas d'entrée une valeur, mais commence par traiter la condition et effectue un "1er passage" pour sélectionner les valeurs que la condition sélectionne, puis ne traite ensuite que les valeurs ne donnant pas "FAUX" (bien sûr c'est une image mais peut-être qu'elle t'aidera à mieux comprendre le processus).
Cette procédure nécessite de traiter la matrice dans son ensemble, d'où une validation en matriciel car c'est ce mode de validation qui "indique" à la formule de traiter la plage comme une entité indissociable, donc de traiter l'ensemble des données, d'où l'augmentation du temps de traitement des formules matricielles.
J'ai essayé d'utiliser des images pour tenter de t'expliquer, ce qui entraîne de fait des approximations dans les explications fournies, mais bon, le but est d'en comprendre le sens.
Donc, si tu n'as qu'une chose à retenir c'est ceci : à partir du moment où tu travailles sur une plage de données, si ta formule comporte une ou plusieurs conditions (j'entends par-là l'utilisation d'un ou plusieurs tests logiques au sein de la formule), tu dois valider la formule en matriciel.
Ceci ne s'applique évidemment pas aux fonction intégrant déjà dans ses arguments une condition (NB.SI, SOMME.SI,...), mais tu remarqueras que ces dernières n'acceptent qu'un seul argument "conditionnel".
A partir du moment ou il existe plus d'une condition, ces formules sont inopérantes et tu devras alors passer par du matriciel.
Reste le cas de SOMMEPROD qui est une fonction matricielle qui n'a pas besoin de validation en matriciel (sauf là encore si une ou plusieurs conditions sont appliquées à la formule), mais cela est une autre histoire😱...
A+
Aarf (comme diraient JC, Hasco, Brigitte, Dull et d'autres amateurs d'onomatopées) ... j'étais occupé à tenter d'expliquer les matricielles ... J'ai rafraîchi à temps: si David s'en est chargé, je me contente de lire et de me régaler. C'est nettement plus complet que ce que je venais de rédiger!
- 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