Ich habe Daten, die so aussehen:
Id | Loc1 | Loc2 | Loc3 | Loc4
---+------+------+------+-----
1 | NY | CA | TX | IL
2 | WA | OR | NH | RI
Und ich möchte es in dieses konvertieren:
Id | LocNum | Loc
---+--------+----
1 | 1 | NY
1 | 2 | CA
1 | 3 | TX
1 | 4 | IL
2 | 1 | WA
2 | 2 | OR
2 | 3 | NH
2 | 4 | RI
Was ist der einfachste Weg, dies in Excel 2007 zu tun?
Antworten:
Sie können dies mit einem Pivot-Tisch tun.
Sie sollten ein neues Blatt sehen, das alle Daten in Ihrer Pivot-Tabelle enthält und so transponiert ist, wie Sie es suchen.
Datapig Technologies bietet Schritt-für-Schritt-Anleitungen , die komplizierter sind als nötig. In seinem Beispiel wird nur ein Teil des Datensatzes transponiert und die Pivot-Technik in Kombination mit TextToColumns verwendet . Aber es hat viele Bilder.
Beachten Sie, dass eine Pivot-Tabelle die Daten gruppiert. Wenn Sie möchten, dass die Gruppierung aufgehoben wird, müssen Sie die Pivot-Tabelle kopieren und als Werte "special" einfügen. Sie können dann die Lücken mit einer Technik wie der folgenden ausfüllen: http://www.contextures.com/xlDataEntry02.html
quelle
Wenn Ihre Daten keine Excel-Pivot-Tabelle sind, sondern nur Daten, möchten Sie sie möglicherweise mit einem einfachen VBA-Code "aus der Pivot-Position bringen". Der Code hängt von zwei benannten Bereichen ab, Quelle und Ziel. Quelle sind die Daten, deren Pivot-Funktion Sie aufheben möchten (ausschließlich der Spalten- / Zeilenköpfe, z. B. NY-RI in der Stichprobe), und Ziel ist die erste Zelle, in der Sie Ihr Ergebnis platzieren möchten.
quelle
Ich habe ein Add-In erstellt, mit dem Sie dies tun können und das es einfach macht, sich an verschiedene Situationen anzupassen. Sieh es dir hier an: http://tduhameau.wordpress.com/2012/09/24/the-unpivot-add-in/
quelle
Es gibt eine ganz schöne Lösung in Excel 2010, muss nur ein bisschen mit Pivot-Tisch spielen.
Erstellen Sie eine Pivot-Tabelle aus Ihren Daten mit diesen Einstellungen:
quelle
Das Beste, was ich mir bisher ausgedacht habe, ist folgendes:
Das funktioniert, aber ich muss die IDs und LocNums manuell generieren. Wenn es eine automatisiertere Lösung gibt (abgesehen vom Schreiben eines Makros), teilen Sie mir dies bitte in einer separaten Antwort mit.
quelle
Wenn die Abmessungen Ihrer Daten mit dem in Ihrer Frage angegebenen Beispiel übereinstimmen, sollten die folgenden Formeln mit OFFSET das gewünschte Ergebnis liefern:
Vorausgesetzt
liegen im Bereich A2: E3, dann eingeben
in F2 sagen, und
in G2 sagen, und
in H2 sagen.
Kopieren Sie diese Formeln dann so weit wie nötig nach unten.
Dies ist die einfachste, reinste, eingebaute Formellösung, die ich mir vorstellen kann.
quelle
Sie scheinen die Spalte "loc" erhalten zu haben (belegt durch Ihre erste Antwort), und jetzt brauchen Sie Hilfe beim Erhalten der beiden anderen Spalten.
Ihre erste Option besteht darin, einfach die ersten Zeilen (z. B. 12) in diese Spalten einzugeben und nach unten zu ziehen. Ich denke, Excel macht in diesem Fall das Richtige (ich habe auf diesem Computer kein Excel, um es sicher zu testen).
Wenn dies nicht funktioniert oder Sie mehr Programmierer möchten, verwenden Sie die Funktion row (). So etwas wie "= Floor (row () / 4)" für die ID-Spalte und "= mod (row (), 4) +1" für die LocNum-Spalte.
quelle
Es gibt ein parametrisches VBA-Konvertierungsdienstprogramm zum Aufheben oder Umkehren von Pivot-Daten in eine Datenbanktabelle
http://www.spreadsheet1.com/unpivot-data.html
quelle
Hier finden Sie ein nützliches Tool zum Aufheben und Normalisieren einer Pivot-Tabelle.
Normalisieren von Pivot Tabellen
Ich hoffe, es hilft.
quelle
@ DaveParillo Antwort ist die beste Antwort für eine einzelne Tab-Tabelle. Ich wollte hier einige Extras hinzufügen.
Bei mehreren Spalten vor den nicht drehbaren Spalten
Diese Methode funktioniert nicht.
Youtube unpivot einfache Daten wie die Frage
Dies ist ein YouTube-Video, das zeigt, wie es auf einfache Weise gemacht wird. Ich habe den Teil über das Hinzufügen der Verknüpfung übersprungen und die @ devuxer-Verknüpfung verwendet, die in der DaveParillo-Antwort enthalten ist.
https://www.youtube.com/watch?v=pUXJLzqlEPk
quelle
Es ist viel einfacher als das. Klicken Sie einfach auf die Option "Transponieren" in "Inhalte einfügen ...", um die gewünschte Transposition zu erhalten.
quelle