web-dev-qa-db-fra.com

Conversion de la matrice en tableau à 3 colonnes ('reverse pivot', 'unpivot', 'flatten', 'normalize')

J'ai besoin de convertir la matrice Excel FIRST dans la table LATER

PREMIER:

    P1  P2  P3  P4
F1  X
F2  X   X
F3      X       X
F4      X   X

PLUS TARD:

F   P   VALUE
F1  P1  X
F1  P2
F1  P3
F1  P4
F2  P1  X
F2  P2  X
F2  P3
F2  P4
F3  P1
F3  P2  X
F3  P3
F3  P4  X
F4  P1
F4  P2  X
F4  P3  X
F4  P4
27
user3095042

Тобы "повернуть шарнир", "разворотить" или "сгладить":

  1. Année Excel 2003: активируйте любую ячейку в сводной таблице и выберите "Данные" - "Сводная таблице" "

    SO20541905 first example

Для более поздних версий обращайтесь к Wizard сAlt+D,P,.

Télécharger Excel pour Mac 2011 pour+Alt+P( см. Здесь ).

  1. Выберите несколько диапазонов консолидации и нажмитеNext,.

    SO20541905 second example

  2. В "аге 2a из 3" выберите Я создам поля страницы и нажмитеNext,.

    SO20541905 third example

  3. В "аге 2b из 3" est en cours de traitement (A1: E5 для данных примера) и нажмитAdd, затемNext,.

    SO20541905 fourth example

  4. В "Шаге 3 ик 3"

    SO20541905 fifth example

  5. НажмитеFinishчтобы создать сводную таблицу:

    SO20541905 sixth example

  6. Развернуть (т.е. дважды щелкнуть) пересечение Великих итогов (V7 или 7):

    SO20541905 seventh example

  7. PT теперь может быть удален.

  8. Полученную таблицу можно преобразовать в обычный массив ячеек, выбрав таблицу в быстром меню (щелкнув правой кнопкой мыши в таблице) и Преобразовать в диапазон.

На эту же тему есть видео по адресу Lancer Excel , которое я считаю отличным качеством.

51
pnuts

Un autre moyen de dé-pivoter des données sans utiliser VBA consiste à utiliser PowerQuery, un complément gratuit pour Excel 2010 et versions ultérieures, disponible à l'adresse suivante: http://www.Microsoft.com/en-us/download/details.aspx?). id = 39379

Installez et activez le complément Power Query. Suivez ensuite ces étapes:

Ajoutez une étiquette de colonne à votre source de données et transformez-la en tableau Excel via Insertion> Tableau ou Ctrl - T.

enter image description here

Sélectionnez n'importe quelle cellule du tableau et, dans le ruban Power Query, cliquez sur "Du tableau".

enter image description here

Cela ouvrira la table dans la fenêtre de l'éditeur de requête de puissance.

enter image description here

Cliquez sur l'en-tête de la première colonne pour le sélectionner. Ensuite, sur le ruban Transformer , cliquez sur le menu déroulant Unpivot Columns . et sélectionnez Déballez les autres colonnes .

Pour les versions de Power Query ne disposant pas de la commande Déverrouiller d'autres colonnes , sélectionnez toutes les colonnes sauf la première (à l'aide de la touche Maj enfoncée, cliquez sur les en-têtes de colonne. ) et utilisez la commande Unpivot .

enter image description here

Le résultat est une table plate. Cliquez sur Fermer et charger sur le ruban Accueil et les données seront chargées sur une nouvelle feuille Excel.

enter image description here

Maintenant à la bonne partie. Ajoutez des données à votre table source, par exemple

enter image description here

Cliquez sur la feuille contenant le tableau des résultats de la requête Power puis sur le ruban Données, cliquez sur Actualiser tout . Vous verrez quelque chose comme:

enter image description here

Power Query n'est pas une simple transformation. Il est répétable et peut être lié à des données changeantes de manière dynamique.

21
teylyn

À ce jour, toutes les solutions impliquent VBA, PowerQuery, etc. Pour le rendre plus dynamique, envisagez d’utiliser INDEX (MATCH (...)). Cela permettra des mises à jour dynamiques de la table.

 enter image description here

0
Matt