Aide agrégation de données

Fermé
SexyPotatoe Messages postés 11 Date d'inscription mercredi 6 mai 2015 Statut Membre Dernière intervention 16 juin 2015 - 6 mai 2015 à 11:48
SexyPotatoe Messages postés 11 Date d'inscription mercredi 6 mai 2015 Statut Membre Dernière intervention 16 juin 2015 - 6 mai 2015 à 14:53
Bonjour à tous,

Dans le cadre d'un projet que nous réalisons, nous avons acquis des bases de données que nous devons traiter au préalable de quelconque autre traitement.

J'ai longtemps recherché avant de me lancer dans l'écriture de ce post. Je m'exprime :
J'ai une colonne de référence, "ID" par exemple, qui contient des doublons. Je dois agréger ces doublons en fonction du chiffre correspondant le plus haut dans une colonne "Puissance".

Vu qu'un schéma parle davantage qu'un pâté de texte :

J'ai :
ID | Puissance
1 | 20
1 | 400
2 | 23
3 | 90
3 | 4567
3 | 23

Je veux :
ID | Puissance
1 | 400
2 | 23
3 | 4567

Merci par avance de votre aide.

Bien à vous...

5 réponses

via55 Messages postés 14512 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 janvier 2025 2 740
6 mai 2015 à 12:05
Bonjour

En supposant les ID en colonne A et les puissances en B jusqu'à la ligne 200:
1° Copier colonne A et la coller en E puis sur cette colonne E Données dans le ruban puis Supprimer les doublons
2° En D2 mettre la formule :
=MAX(SI($A$2:$A$200=E2;$B$2:$B$200;"")) et valider la formule par CTRL+MAJ+ENTREE (formule matricielle) la formule se met automatiquement entre { }
Etirer la formule au bas de la colonne

Cdlmnt
Via
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 421
6 mai 2015 à 12:08
Bonjour

à adapter:
base de données: code en A puissance en B
édition: code en C à partir de C2
en D2 à tirer sur la hauteur utile:

=MAX(SI(A:A=C2;B:B))


Formule matricielle qui doit être entrée avec la touche enter en maintenant le touches ctrl et shift enfoncées
(elle se retrouve automatiquement entre accolades dans la barre de formule)
crdlmnt
0
SexyPotatoe Messages postés 11 Date d'inscription mercredi 6 mai 2015 Statut Membre Dernière intervention 16 juin 2015
6 mai 2015 à 13:39
Merci pour ta vive réponse, mais...
ça ne va pas je crois. Je n'ai pas que ces deux colonnes, j'en ai environ 20. Or ta manipulation pourrait aller si et seulement si je ne disposais que de ma colonne "Id" et de ma colonne "Puissance".

Il faudrait en fait supprimer toute la ligne concernée par le/les doublons qui n'ont pas la valeur "Puissance" maximale, et non pas seulement l'Id et la puissance.

Je ne suis pas très clair je pense... Si tu nécessites davantage de précision, n'hésite pas.
0
via55 Messages postés 14512 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 janvier 2025 2 740
6 mai 2015 à 14:10
Re,

Si on n'a pas toutes les infos dès le départ pas facile de pouvoir aider !
Il faut mieux poster un exemple (allégé si nécessaire) de ton fichier su cjoint.com et nous indiquer le lien fourni alors, là ce serait plus clair.

Néanmoins une piste peut être :
1 Faire trier toute les colonnes selon 2 critères conjoints , 1° sur la colonne ID en ordre croissant, 2° sur la colonne Puissance en ordre décroissant
2 Rajouter une colonne avec cette formule :
=SI(NB.SI($A$2:A2;A2)=1;"x";"")
qui mettra un x en face de chaque premier ID (avec donc le max de puissance à côté après le tri)
3) Filtrer toutes les colonnes sur la base de cette dernière colonne avec comme critère le x
4) Copier les colonnes filtrées et les coller sur une autre feuille par Collage spécial Valeurs uniquement

Cdlmnt
Via
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SexyPotatoe Messages postés 11 Date d'inscription mercredi 6 mai 2015 Statut Membre Dernière intervention 16 juin 2015
6 mai 2015 à 14:53
C'est tout bon du coup ! J'ai montré vos commentaires à un collègue de bureau on-ne-peut-plus sympathique qui a bien voulu donner de son temps pour mettre en pratique ce que vous m'avez conseillé. Du coup, ça joue !

Merci à vous en tout cas, la communauté de ce site sera toujours exemplaire.
0