Créer un classement à partir de classements
Hi à tutti,
Problème simple pour les spécialistes :
J’ai récupéré sur le web, le classement des différentes chansons d’ACDC.
Dans l’onglet « Tout » du fichier, le tableau en vert est le résultat de ma recherche : les titres et leur classement suivant le site.
J’aimerai connaitre pour un même titre son classement à chaque apparition pour faire ensuite une moyenne et ainsi avoir un nouveau classement (le mien).
Suis-je clair ? Pas sûr!
Évidemment, il est possible de tout se cogner ligne par ligne, note par note (j'ai commencé). J’ai essayé avec des formules mais mon niveau n’est pas suffisant.
Pourriez-vous m’aider s’il-vous-plait? Merci
Bye
Bonjour
Une solution très simple en utilisant PowerQuery (en add on sur 2010, intégré à Excel à partir de 2016)
Clic droit pour actualiser le résultat quand la source évolue
Bon! PowerQuery! Simple solution, le tout est de savoir utiliser ça
Un grand merci, mais je ne saurais pas faire pour une fos prochaine.
RE
Bon! PowerQuery! Simple solution, le tout est de savoir utiliser ça
Un grand merci, mais je ne saurais pas faire pour une fos prochaine.
Ta question et ta réponse semblent indiquer que
- tu ne sais pas non plus le faire autrement
- tu ne veux surtout pas apprendre : aucune question mais un repli immédiat
J'ai donné une foultitude de solutions PowerQuery sur ce forum et sur d'autres et nombre de demandeurs ont souhaité en savoir plus et maintenant l'utilisent.
Chacun fait comme il veut. J'éviterai à l'avenir de répondre à tes demandes car que ce soit par formule, par VBA, ou autre je risque le même rejet...
Chris,
Effectivement, tout mon écrit porte à croire ce que tu préjuges et je comprends ton agacement. Vois-moi désolé.
Ne pas apprendre ? J’essaie, tant bien que mal, à créer des fichiers EXCEL (particulièrement alambiqués du reste) en utilisant principalement les formules ou les macros auto, et en m’inspirant de ce qui existe essentiellement sur ce site bien sûr.
Quant à PowerQuery, je ne connaissais pas son existence avant de voir ta solution. D’une part, il fallait savoir qu’un lien existe entre EXCEL et ce … logiciel ?. Et d’autre part, j’ai immédiatement cherché à découvrir cette requête sur la toile. Mais rien de probant.
Merci pour ton aide.
Meilleurs salutations.
JLuc
Bonjour, Buongiorno
Toutes les réponses précedentes sont plus intéresantes que celle-ci (plus rapide, utilisation de tableau/zone ce qui permet des filtres et rendu plus propre), mais pour le défi et surtout éviter "de tout se cogner ligne par ligne"
Voila ce que tu peux avoir avec seulement des formules (Les $ figent les lignes/colonnes ou les deux du coup tu peux étirer les formules a toutes les cellules).
'Pour la Moy
=MOYENNE.SI(C$3:D$1000;I3;D$3:D$1000)
'Pour Nbre Notes
=NB.SI(C$3:C$1000;I3)
'Pour la récurrence n°1
=INDEX($C$3:$D$1000;EQUIV($I3;$C$3:$C$1000;0);2)
'Pour les récurrences 2 a 10+
=SI($U3>J$2;DECALER(INDEX($C$3:$D$1000;EQUIV($I3;$C$3:$C$1000;0);2);J$2;);"")A+
Bonjour
Pour PowerQuery il faut déjà télécharger et installer l'add on https://www.microsoft.com/fr-FR/download/details.aspx?id=39379
Télécharger la version 32 bits, Office 2010 étant dans la quasi totalité des cas installé en 32 bits (même sur un windows 64bits)
Tu pourras ensuite voir la requête avoir des explications...
Bonjour,
Merci à tous pour votre aide. Je me rends compte que mon niveau est bien bas. Ça va me permettre de travailler les fonctions.
Chris,
J’ai téléchargé PowerQuery en 32 bits (le 64 ne fonctionne effectivement pas). Je vais y regarder de plus près.
Bonne journée
JLuc
Bonjour à tous
Chris,J’ai téléchargé PowerQuery en 32 bits (le 64 ne fonctionne effectivement pas). Je vais y regarder de plus près.
Que tu travailles en formules ou par PowerQuery il est conseillé pour les formules et obligatoire pour PowerQuery de travailler en tableau structuré
Pour les formules cela évite d'utiliser une plage aléatoire de 1000 lignes, Excel, en se référant à un tableau ou une colonne de tableau, dont il connait à tout moment la taille exacte, calcule alors sur le bon nombre de cellules, ni trop, ni pas assez.
Pour PowerQuery il n'est pas nécessaire de créer une seconde liste des titres : un fois le tableau initial mis sous forme de tableau, depuis une cellule de celui-ci, la commande PowerQuery, A partir d'un tableau va basculer les données dans PowerQuery et ouvrir celui-ci.
La requête créée a déjà 2 étapes (listées à droite) : Source et typage des données.
On ajoute les étapes suivantes :
- pour mémoriser l'ordre de la source, Ajouter une colonne, Index
- sélectionner la colonne Titre, clic droit Grouper : on indique les opérations suivantes (en donnant à chaque fois un nom pour la colonne résultante) :
- compter les lignes, nommé NB notes
- moyenne de Position, nommé Moyenne
- Toutes les lignes, nommé Tabl
- afin de récupérer le classement 1 à n des positions de chaque titre on indexe ces notes : Ajouter une colonne, colonne personnalisée, avec la formule
=Table.AddIndexColumn([Tabl],"Idx",1) - on développe les groupes en cliquant sur la double flèche près du titre Personnalisé et en décochant tout sauf Position et Idx
- supprimer la colonne Tabl
- sélectionner la colonne Idx, Transformer, Pivoter la colonne : colonne de valeurs Position, options avancées Ne pas agréger
- trier la colonne Titre
- sortir par Fermer et charger dans, Tableau et choisir l'emplacement
Quand des données s'ajoutent à la source il n'y a rien d'autre à faire qu'actualiser le tableau de résultats
A noter qu'en ajoutant la date du classement au tableau initial, la saisie pourrait être faite au fil du temps sans classement particulier et la requête pourrait néanmoins restituer le même résultat en utilisant la date plutôt que le classement que tu es obligé de refaire à chaque ajout.
Chris,
De sincères mercis pour tout.
Je croyais pouvoir m’amuser avec EXCEL et m’en sortir, il n’en est rien.
J’ai essayé aussi de comprendre les tableaux structurés Excel, il n’en est rien.
Bien que je ne sois pas un bricoleur de 1er ordre, je suis plus doué avec une truelle à la main qu’avec des formules.
J’ai un autre souci, ce sera l’objet d’un autre message sur le forum.
Salutations