Direkt zum Inhalt

Wie konvertiere ich eine Matrix-Stil-Tabelle in Excel in drei Spalten?

Angenommen, Sie haben eine Tabelle im Matrixstil, die Spaltenüberschriften und Zeilenüberschriften enthält, und jetzt möchten Sie diese Stiltabelle in eine Tabelle mit drei Spalten konvertieren. Sie wird auch als Listentabelle bezeichnet, wie im folgenden Screenshot gezeigt. Haben Sie gute Möglichkeiten, dies zu lösen? Problem in Excel?

Konvertieren Sie eine Matrixstiltabelle in eine Liste mit PivotTable

Konvertieren Sie die Matrixstiltabelle in eine Liste mit VBA-Code

Konvertieren Sie eine Matrixstiltabelle in eine Liste mit Kutools für Excel

doc konvertiert Matrix in Liste 1


In Excel gibt es für uns keine direkte Funktion zum Konvertieren der Matrixstiltabelle in eine Tabelle mit drei Spalten. Wenn Sie jedoch mit PivotTable vertraut sind, kann dies Ihnen einen Gefallen tun. Bitte machen Sie die folgenden Schritte:

1. Aktivieren Sie Ihr Arbeitsblatt, das Sie verwenden möchten, und halten Sie es gedrückt Alt + D, und drücken Sie dann P in der Tastatur, in der herausgesprungen PivotTable- und PivotChart-Assistent Dialog auswählen Mehrere Konsolidierungsbereiche unter dem Wo sind die Daten, die Sie analysieren möchten? Abschnitt, und wählen Sie dann PivotTabelle unter dem Welche Art von Bericht möchten Sie erstellen? Abschnitt, siehe Screenshot:

doc konvertiert Matrix in Liste 2

2. Dann klick Weiter Schaltfläche, in der Schritt 2a von 3 Assistent, wählen Sie die Ich werde die Seitenfelder erstellen Option, siehe Screenshot:

doc konvertiert Matrix in Liste 3

3. Klicken Sie weiter Weiter Schaltfläche, in der Schritt 2b von 3 Assistent, klicken Sie auf doc konvertiert Matrix in Liste 5 Klicken Sie auf die Schaltfläche, um den Datenbereich auszuwählen, den Sie konvertieren möchten, und klicken Sie dann auf Speichern Schaltfläche, um den Datenbereich zum hinzuzufügen Alle Bereiche Listenfeld, siehe Screenshot:

doc konvertiert Matrix in Liste 4

4. Und klicken Sie auf Weiter Knopf, in Schritt 3 von 3 Wählen Sie im Assistenten einen Speicherort für die Pivot-Tabelle aus.

doc konvertiert Matrix in Liste 6

5. Dann klick Endziel Schaltfläche, eine Pivot-Tabelle wurde sofort erstellt, siehe Screenshot:

doc konvertiert Matrix in Liste 7

6. Doppelklicken Sie in der Pivot-Tabelle auf die sich überschneidende Zelle der Gesamtsumme. In diesem Fall doppelklicke ich auf die Zelle F22 und es wird eine Tabelle mit drei Spalten erstellt, wie im folgenden Screenshot gezeigt:

doc konvertiert Matrix in Liste 8

7. Und schließlich können Sie das Tabellenformat in den normalen Bereich konvertieren, indem Sie die Tabelle auswählen und dann auswählen Tisch > In Bereich konvertieren Siehe im Kontextmenü Screenshot:

doc konvertiert Matrix in Liste 9


Wenn Ihnen die erste Methode nicht gefällt, kann Ihnen auch der folgende VBA-Code helfen.

1. Drücken Sie Alt + F11 um das anzuzeigen Microsoft Visual Basic für Applikationen Fenster.

2. Klicken Sie im Fenster auf Insert > Modul Um ein neues Modulfenster anzuzeigen, kopieren Sie den folgenden VBA-Code und fügen Sie ihn in das Modulfenster ein.

VBA-Code: Konvertieren Sie die Matrixstiltabelle in eine Liste

Sub ConvertTable()
'Update 20150512
Dim Rng As Range
Dim cRng As Range
Dim rRng As Range
Dim xOutRng As Range
xTitleId = "KutoolsforExcel"
Set cRng = Application.InputBox("Select your Column labels", xTitleId, Type:=8)
Set rRng = Application.InputBox("Select Your Row Labels", xTitleId, Type:=8)
Set Rng = Application.InputBox("Select your data", xTitleId, Type:=8)
Set outRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set xWs = Rng.Worksheet
k = 1
xColumns = rRng.Column
xRow = cRng.Row
For i = Rng.Rows(1).Row To Rng.Rows(1).Row + Rng.Rows.Count - 1
    For j = Rng.Columns(1).Column To Rng.Columns(1).Column + Rng.Columns.Count - 1
        outRng.Cells(k, 1) = xWs.Cells(i, xColumns)
        outRng.Cells(k, 2) = xWs.Cells(xRow, j)
        outRng.Cells(k, 3) = xWs.Cells(i, j)
        k = k + 1
    Next j
Next i
End Sub

3. Dann drücken F5 Wenn Sie die Taste drücken, um diesen Code auszuführen, wird ein Eingabeaufforderungsfeld angezeigt, in dem Sie die Spaltenbeschriftungen der Daten auswählen können (siehe Abbildung):

doc konvertiert Matrix in Liste 10

4. Und dann klick OK Klicken Sie im nächsten Eingabeaufforderungsfeld auf die Schaltfläche, um die Zeilenbeschriftungen auszuwählen (siehe Screenshot:

doc konvertiert Matrix in Liste 11

5. Klicken Sie weiter OKWählen Sie dann den Datenbereich ohne die Spalten- und Zeilenüberschriften im Eingabeaufforderungsfeld aus, siehe Screenshot:

doc konvertiert Matrix in Liste 12

6. Und dann klick OKWählen Sie in diesem Dialogfeld eine Zelle aus, in der Sie das Ergebnis suchen möchten. Siehe Screenshot:

doc konvertiert Matrix in Liste 13

7. Endlich, klick OK, und Sie erhalten sofort eine Tabelle mit drei Spalten.


Beide oben genannten Methoden sind etwas mühsam. Hier möchte ich Ihnen einen einfachen Weg vorstellen - Kutools for ExcelMit seinen Transponieren Sie die Tischabmessungen Mit dieser Funktion können Sie schnell zwischen einer Zellenmatrix und einer Listentabelle konvertieren.

Kutools for Excel : Mit mehr als 300 praktischen Excel-Add-Ins können Sie diese innerhalb von 30 Tagen ohne Einschränkung testen

Nach der Installation Kutools for ExcelBitte gehen Sie wie folgt vor:

1. Klicken Sie Kutoolen > Abdeckung > Transponieren Sie die Tischabmessungen, siehe Screenshot:

2. In dem Transponieren Sie die Tischabmessungen Dialogbox:

(1.) Wählen Sie Kreuztabelle zur Liste Option unter Transponiertyp.

(2.) Und dann klicken doc konvertiert Matrix in Liste 5 Schaltfläche unter Quellbereich um den Datenbereich auszuwählen, den Sie konvertieren möchten.

(3.) Klicken Sie dann auf doc konvertiert Matrix in Liste 5 Schaltfläche unter Ergebnisbereich um eine Zelle auszuwählen, in die Sie das Ergebnis einfügen möchten.

doc konvertiert Matrix in Liste 15

3. Und dann klick OK Klicken Sie auf die Schaltfläche, und Sie erhalten das folgende Ergebnis, einschließlich der ursprünglichen Zellenformatierung:

doc konvertiert Matrix in Liste 16

Mit diesem Dienstprogramm können Sie auch Konvertieren Sie eine flache Listentabelle in eine zweidimensionale Kreuztabelle.

Weitere Informationen zu dieser Funktion "Transponierte Tabellenabmessungen".

Laden Sie Kutools for Excel jetzt herunter und testen Sie es kostenlos!


Kutools for Excel: Mit mehr als 300 praktischen Excel-Add-Ins können Sie es innerhalb von 30 Tagen ohne Einschränkung testen. Jetzt herunterladen und kostenlos testen!

Beste Office-Produktivitätstools

🤖 Kutools KI-Assistent: Revolutionieren Sie die Datenanalyse basierend auf: Intelligente Ausführung   |  Code generieren  |  Erstellen Sie benutzerdefinierte Formeln  |  Analysieren Sie Daten und erstellen Sie Diagramme  |  Rufen Sie Kutools-Funktionen auf...
Beliebte Funktionen: Suchen, markieren oder identifizieren Sie Duplikate   |  Leere Zeilen löschen   |  Kombinieren Sie Spalten oder Zellen, ohne Daten zu verlieren   |   Runde ohne Formel ...
Super-Lookup: VLookup mit mehreren Kriterien    VLookup mit mehreren Werten  |   VLookup über mehrere Blätter hinweg   |   Unscharfe Suche ....
Erweiterte Dropdown-Liste: Erstellen Sie schnell eine Dropdown-Liste   |  Abhängige Dropdown-Liste   |  Mehrfachauswahl Dropdown-Liste ....
Spaltenmanager: Fügen Sie eine bestimmte Anzahl von Spalten hinzu  |  Spalten verschieben  |  Schalten Sie den Sichtbarkeitsstatus ausgeblendeter Spalten um  |  Vergleichen Sie Bereiche und Spalten ...
Ausgewählte Funktionen: Rasterfokus   |  Designansicht   |   Große Formelleiste    Arbeitsmappen- und Blattmanager   |  Ressourcen (Autotext)   |  Datumsauswahl   |  Arbeitsblätter kombinieren   |  Zellen verschlüsseln/entschlüsseln    Senden Sie E-Mails nach Liste   |  Superfilter   |   Spezialfilter (Filter fett/kursiv/durchgestrichen...) ...
Top 15 Toolsets12 Text Tools (Text hinzufügen, Zeichen entfernen, ...)   |   50+ Chart Typen (Gantt-Diagramm, ...)   |   40+ Praktisch Formeln (Berechnen Sie das Alter basierend auf dem Geburtstag, ...)   |   19 Einfügen Tools (QR-Code einfügen, Bild aus Pfad einfügen, ...)   |   12 Umwandlung (Conversion) Tools (Zahlen zu Wörtern, Currency Conversion, ...)   |   7 Zusammenführen & Teilen Tools (Erweiterte Zeilen kombinieren, Zellen teilen, ...)   |   ... und mehr

Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über 300 erweiterte Funktionen, um die Produktivität zu steigern und Zeit zu sparen.  Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen ...

Beschreibung


Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich

  • Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
  • Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!
Comments (10)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Thanks for the tips. It's greatly saved my time and manual efforts.
This comment was minimized by the moderator on the site
Anybody know how to do this in a mac?
This comment was minimized by the moderator on the site
Sub ConvertTable_UseThis()

Dim Rng As Range
Dim cRng As Range
Dim rRng As Range
Dim xOutRng As Range
Dim xRng As Range, cRow As Integer, cCol As Integer


xTitleId = "Convert Table"
Set xRng = Application.Selection
Set xRng = Application.InputBox("Please select range:", "Number Range", Selection.Address, , , , , 8)
cRow = xRng.Rows.Count
cCol = xRng.Columns.Count


Set cRng = Range(xRng.Cells(1, 2), xRng.Cells(1, cCol))
Set rRng = Range(xRng.Cells(2, 1), xRng.Cells(cRow, 1))
Set Rng = Range(xRng.Cells(2, 2), xRng.Cells(cRow, cCol))
Set outRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set xWs = Rng.Worksheet
k = 1
xColumns = rRng.Column
xRow = cRng.Row
For i = Rng.Rows(1).Row To Rng.Rows(1).Row + Rng.Rows.Count - 1
For j = Rng.Columns(1).Column To Rng.Columns(1).Column + Rng.Columns.Count - 1
outRng.Cells(k, 1) = xWs.Cells(i, xColumns)
outRng.Cells(k, 2) = xWs.Cells(xRow, j)
outRng.Cells(k, 3) = xWs.Cells(i, j)
k = k + 1
Next j
Next i
End Sub
This comment was minimized by the moderator on the site
For the VBA Code, one seems to really need this:xColumns = cRng.Column
xRow = rRng.Row
This comment was minimized by the moderator on the site
do you have a code with a tweak where the leftmost column of a selection is column labels and the topmost row of a selection is row labels?

Thanks in advance,
This comment was minimized by the moderator on the site
Sub ConvertTable_UseThis()

Dim Rng As Range
Dim cRng As Range
Dim rRng As Range
Dim xOutRng As Range
Dim xRng As Range, cRow As Integer, cCol As Integer


xTitleId = "Convert Table"
Set xRng = Application.Selection
Set xRng = Application.InputBox("Please select range:", "Number Range", Selection.Address, , , , , 8)
cRow = xRng.Rows.Count
cCol = xRng.Columns.Count


Set cRng = Range(xRng.Cells(1, 2), xRng.Cells(1, cCol))
Set rRng = Range(xRng.Cells(2, 1), xRng.Cells(cRow, 1))
Set Rng = Range(xRng.Cells(2, 2), xRng.Cells(cRow, cCol))
Set outRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set xWs = Rng.Worksheet
k = 1
xColumns = rRng.Column
xRow = cRng.Row
For i = Rng.Rows(1).Row To Rng.Rows(1).Row + Rng.Rows.Count - 1
For j = Rng.Columns(1).Column To Rng.Columns(1).Column + Rng.Columns.Count - 1
outRng.Cells(k, 1) = xWs.Cells(i, xColumns)
outRng.Cells(k, 2) = xWs.Cells(xRow, j)
outRng.Cells(k, 3) = xWs.Cells(i, j)
k = k + 1
Next j
Next i
End Sub
This comment was minimized by the moderator on the site
Thanks a Ton, really appreciate the way you have explained. very useful
This comment was minimized by the moderator on the site
Thanks alot for this useful tool
This comment was minimized by the moderator on the site
Thanks, this was exactly what I was looking for. Awesome:)
This comment was minimized by the moderator on the site
what if i have 4 or more column?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations