J'ai cette requête->
A B
1 |p1 | a:10;b:20;c:30 |
2 |p2 | a:25;b:15;c:40 |
Comment obtenir p1 et p2 dans la colonne A jusqu'à ce que sa prochaine valeur se divise sans utiliser de macros?
A B C
4 |p1 |a |10 |
5 |p1 |b |20 |
6 |p1 |c |30 |
7 |p2 |a |25 |
8 |p2 |b |15 |
9 |p2 |c |40 |
L'utilisation de l'expression et des valeurs de la colonne A n'est pas fixe, elle est dynamique.
microsoft-excel
Jatin Khanna
la source
la source
Réponses:
J'utiliserais le complément de requête de puissance pour ceci. À partir d'Excel 2016, Power Query est intégré au ruban de données dans la section "Obtenir et transformer".
Power Query peut démarrer à partir d'un tableau Excel existant. Je commencerais par une étape Split sur la colonne B en utilisant le point-virgule. Une astuce cruciale consiste à ouvrir la section "Avancé" de la page "Scinder une colonne par délimiteur" et à entrer un nombre plus important pour: "Nombre de colonnes dans lesquelles scinder". Par défaut, le minimum nécessaire pour vos données actuelles, par exemple 3. Vous pouvez entrer un nombre supérieur, par exemple 100, pour répondre aux besoins futurs en données.
Ensuite, je choisissais la colonne A et utilisais la commande "Colonnes non pivotées / Autres colonnes non pivotées" pour ramener toutes les colonnes divisées dans une colonne, sur plusieurs lignes. Enfin, je voudrais utiliser la commande Split à nouveau sur la colonne "Valeur" générée, en scindant en utilisant deux points.
Un résultat de requête peut être fourni sous forme de tableau Excel.
Vous ajouterez probablement quelques étapes pour supprimer les colonnes non désirées et renommer les colonnes. Vous pouvez le construire sans écrire de macro ou de code de fonction - il vous suffit de cliquer dans la fenêtre Power Query.
J'ai construit une solution de travail que vous pouvez télécharger à partir de mon OneDrive et essayer:
http://1drv.ms/1AzPAZp
C'est le fichier: Démo de Power Query - Fractionner dynamiquement une colonne et le rendre non pivotant en lignes
la source