Aide agrégation de données
SexyPotatoe
Messages postés
12
Statut
Membre
-
SexyPotatoe Messages postés 12 Statut Membre -
SexyPotatoe Messages postés 12 Statut Membre -
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...
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...
A voir également:
- Aide agrégation de données
- Fuite données maif - Guide
- Supprimer les données de navigation - Guide
- Trier des données excel - Guide
- Sauvegarde des données - Guide
- Données personnelles - Accueil - Windows
5 réponses
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
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
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
à 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
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.
ç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.
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question