it-swarm.com.de

Beschriftungen gruppieren und ihre Textwerte verketten (wie eine Pivot-Tabelle)

Ich habe eine Tabelle mit folgenden Daten:

 Produkt | Attribut 
 ---------- + ---------- 
 Produkt A | Cyan 
 Produkt B | Cyan 
 Produkt C | Cyan 
 Produkt A | Magenta 
 Produkt C | Magenta 
 Produkt B | Gelb 
 Produkt C | Gelb 
 Produkt A | Schwarz 
 Produkt B | Schwarz

Was ich tun möchte, um alles nach Spalte A zu gruppieren und Spalte B als kommagetrennte Liste von Werten zu definieren, die Spalte A gemeinsam haben, wie folgt:

 Produkt | Attribut 
 ---------- + -------------------------- 
 Produkt A | Cyan, Magenta, Schwarz 
 Produkt B | Cyan, Gelb, Schwarz 
 Produkt C | Cyan, Magenta, Gelb, Schwarz 

Leider wissen Pivot-Tabellen nur, wie man mit Zahlenwerten arbeitet, und am weitesten geht es darum, zu zählen, wie oft Spalte A auftritt.

Dies gelang mir letztendlich, indem ich die Daten in eine MySQL-Datenbank importierte und die GROUP_CONCAT(Attribute) -Funktion von MySQL in einer Abfrage mit einer GROUP BY Product -Klausel verwendete, aber nachdem ich wiederholt mit dem Kopf auf den Schreibtisch schlug, um eine Excel-Lösung zu finden.

Ist dies in Excel ohne Makros möglich? Ob es ist oder nicht, wie würde man das schaffen?

20
p0lar_bear
   |     A     |     B
---+-----------+-----------
 1 |  PRODUCT  | ATTRIBUTE
 2 | Product A | Cyan
 3 | Product B | Cyan
 4 | Product C | Cyan
 5 | Product A | Magenta
 6 | Product C | Magenta
 7 | Product B | Yellow
 8 | Product C | Yellow
 9 | Product A | Black
10 | Product B | Black

Angenommen, Zeile 1: 1 ist die Kopfzeile.

  1. Sortieren nach Spalte A, um nach Produkt zu gruppieren

  2. Bereiten Sie Daten in kommagetrenntem Format in Spalte C vor Geben Sie in C2 die folgende Formel ein und kopieren Sie sie nach C3: C10.

    =IF(A2<>A1, B2, C1 & "," & B2)
    
  3. Identifizieren Sie nützliche Zeilen durch Eingabe von D2 =A2<>A3 und Kopieren nach D3: D10.

  4. Kopiere Spalte C: D, dann Inhalte einfügen als Wert (AltE-S-V-Enter). Sie erhalten jetzt:

    Product A    Cyan       Cyan                   FALSE
    Product A    Magenta    Cyan,Magenta           FALSE
    Product A    Black      Cyan,Magenta,Black     TRUE
    Product B    Cyan       Cyan                   FALSE
    Product B    Yellow     Cyan,Yellow            FALSE
    Product B    Black      Cyan,Yellow,Black      TRUE
    Product C    Cyan       Cyan                   FALSE
    Product C    Magenta    Cyan,Magenta           FALSE
    Product C    Yellow     Cyan,Magenta,Yellow    TRUE
    
  5. nnützige Zeilen entfernen durch Filtern von FALSE in Spalte D mit AutoFilter und anschließendes Löschen dieser Zeilen.

  6. Fertig stellen. Spalte A & C ist das, was Sie brauchen.

29
wilson

Ich weiß, dass es ein alter Beitrag ist, aber ich hatte diese Herausforderung heute. Ich habe das PowerQuery Add-In von Microsoft verwendet (HINWEIS: Es ist standardmäßig in Excel 2016 integriert).

  1. Wählen Sie Ihren Tisch
  2. Wählen Sie auf der Registerkarte STROMABFRAGE (oder DATEN in 2016) "Aus Tabelle" aus.
  3. Klicken Sie auf die Spalte "Produkt"
  4. wählen Sie auf der Registerkarte "Transformieren" die Option "Gruppieren nach".
  5. Vergewissern Sie sich, dass auf der Registerkarte "Ansicht" die Option "Formelleiste" aktiviert ist
  6. Ändern Sie die Formel

    VON:

    = Table.Group(#"Changed Type", {"Product"}, {{"Count", each Table.RowCount(_), type number}})
    

    ZU:

    = Table.Group(#"Changed Type", {"Product"}, {{"Attributes", each Text.Combine([Attribute], ", "), type text}})
    

    Click here for picture depicting steps from above

Schritt 6 nutzt die Power Query (M) -Formeln, um Datenmanipulationen durchzuführen, die nicht über die in der Benutzeroberfläche bereitgestellten Grundoperationen verfügbar gemacht wurden. Microsoft stellt online eine vollständige Referenz für alle in Power Query verfügbaren erweiterten Funktionen zur Verfügung.

10
Matt Poland

Hier sind ein paar Ansätze, sowohl "Nicht-Makro" ...

  1. Bei einem kleinen Datensatz können Sie nach dem ersten Sortieren nach Produkt (ähnlich wie bei GROUP BY Product) zunächst die Spalte "Product" kopieren, an einer anderen Stelle einfügen und dann Duplikate entfernen. Kopieren Sie als nächstes die "Attribute" für jedes Produkt und fügen Sie "Spezialtransponieren" neben jedes Produkt ein. Verketten Sie dann ein Komma mit jedem Ihrer transponierten Attribute in einer Endergebnisspalte. Zugegeben, all dieses "Kopieren/Einfügen Spezial/Transponieren" würde schnell veralten, wenn Sie eine lange Liste von Produkten haben.

  2. Wenn Sie viele Daten haben, können Sie mit einigen Formeln zum Endergebnis gelangen, wie unten gezeigt. Die Formeln in F2, G2, H2, I2 und N2 sind durch die blauen Pfeile gekennzeichnet. Kopieren Sie diese nach Bedarf in die folgenden Zeilen. Beachten Sie, dass J2: L2 dieselbe Formel wie I2 verwendet. Die Formel F2 bezieht sich auch auf einen benannten Bereich "Produkte", der den Bereich A: A umfasst.

enter image description here

3
F106dart