Clever-Excel-Forum

Normale Version: Liste per Formel transponieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo, ich bin der der Neue und komme jetzt öfter....

Ich möchte eine Tabelle in eine andere Darstellung transponieren. Simpel gesagt möchte ich aus der blauen Tabelle die Grüne erstellen.
Dabei sind weder die Namen Fix, noch die Früchte Fix, sondern sind variabel. Pivot oder Formel, beides willkommen.
Alle Vorschläge sind willkommen. Danke im voraus!
Hallo,

eine Möglichkeit.
Hi

mit PowerQuery. Quelle ist die blaue Tabelle.
Code:
let
    Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
    Entpivot = Table.UnpivotOtherColumns(Quelle, {"Name"}, "Attribut", "Wert"),
    #"Gruppierte Zeilen" = Table.Group(Entpivot, {"Name", "Wert"}, {{"Anzahl", each Table.Pivot(_, List.Distinct(Entpivot[Attribut]), "Attribut", "Name"), type table}}),
    #"Entfernte Spalten" = Table.RemoveColumns(#"Gruppierte Zeilen",{"Name", "Wert"}),
    #"Erweiterte Anzahl" = Table.ExpandTableColumn(#"Entfernte Spalten", "Anzahl", {"Wert", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag"}, {"Wert", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag"})
in
    #"Erweiterte Anzahl"
Gruß Elex
=LET(a;A1:F5;
b;WEGLASSEN(a;1;1);
h;TEXT(ZEILE(b);"0000");
c;SORTIEREN(ZUSPALTE(b&"-"&h&INDEX(WEGLASSEN(a;1);;1)&"-"&SPALTE(b)));
d;TEXTVOR(c;"-";2);
e;TEXTNACH(c;"-";2);
f;EINDEUTIG(d);
g;VERGLEICH(d;f)+e%%;
VSTAPELN(INDEX(a;1;);HSTAPELN(TEXTVOR(f;"-";1);WENNFEHLER(TEIL(TEXTNACH(INDEX(f;INDEX(g;VERGLEICH(RUNDEN(SEQUENZ(MAX(g))+SEQUENZ(;MAX(REST(g;1)/1%%-1);2)*1%%;4);RUNDEN(g;4);)));"-";1);5;99);""))))
Hallo, erst einmal vielen Dank für die Antworten. Da ich noch nie mit PQ gearbeitet habe, bekomme ich beide PQ antworten noch nicht auf das Beispiel Sheet angewendet. Arbeite noch dran
@Elex: Ich bin mir sicher, dass Du es richtig gemacht hast (super kurz!), aber mir ist es nicht gelungen, es als PQ anzuwenden.
@thica: Im "Grün" sind Birne und Banane am Ende, statt der entsprechenden Namen. Habe ich als Fehler angenommen. EDIT: Es gibt nur eine PQ-Antwort! Nicht 2!
@Gastlich: Pro Zeile ist im Wertefeld nur ein- und derselbe Name erlaubt. Außerdem sind keine leeren Zeilen gewünscht.

In meiner (Formel)-Lösung habe ich die Vorspalte alphabetisch sortiert, statt Apfel Birne Banane (Reihenfolge des ersten Auftretens; könnte man aber auch erzeugen). Im Wertefeld habe ich aber die Reihenfolge der Personennamen eingehalten, statt sie zu sortieren.
Hallo, die Antwort von Elex habe ans laufen bekommen, danke
Habs jetzt auch hinbekommen:

Datei vom TE laden
Blau in Tabelle wandeln (Strg-L)
Daten abrufen - Aus Tabelle/Bereich
In PQ: Erweiterter Editor
Dort den Code von Elex über den bestehenden kopieren

Anders, als bei TE, sind allerdings die Sätze weiterhin nach Personennamen sortiert. Bei meiner dynamischen Formel ist das früchtegruppiert angepasst wie beim TE (nur die Reihenfolge Apfel Birne Banane wird bei mir zu Apfel Banane Birne).
Schön dass es nachvollziehbar ist.
Sortierung kann auch im Code, oder einfach in der Ausgabe Tabelle erfolgen.