Comment diviser cette requête dans Excel sans utiliser aucune fonction macro

1

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.

Jatin Khanna
la source
Bienvenue sur Super User. Il est de coutume de montrer ici ce que vous avez déjà tenté et où vous êtes resté bloqué. Les volontaires ici vont essayer de vous aider à partir de là. Sans effort de votre part, vous risquez de ne recevoir aucune réponse. Pour obtenir de l'aide afin d'améliorer votre question, voir Comment poser une question .
CharlieRB
Je suppose que la cellule B2 de votre premier exemple devrait se lire comme suit: a: 25; b: 15; c: 40
Mike Honey
1
S'il vous plaît ne postez pas vos questions deux fois
nixda

Réponses:

1

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

Mike Honey
la source