Wie transponiere ich doppelte Zeilen in Spalten in Excel?
Angenommen, Sie haben eine Reihe von Daten in Excel. Jetzt möchten Sie die doppelten Zeilen in mehrere Spalten umwandeln, wie im folgenden Screenshot gezeigt. Haben Sie gute Ideen, um diese Aufgabe zu lösen?
Transponieren Sie doppelte Zeilen in Spalten mit VBA-Code
Transponieren Sie doppelte Zeilen in Spalten mit VBA-Code
Leider gibt es keine direkte Möglichkeit für Sie, in Excel damit umzugehen. Sie können jedoch einen VBA-Code erstellen, um das Problem zu lösen. Gehen Sie dazu wie folgt vor:
1. Halten Sie die ALT + F11 Schlüssel zum Öffnen der Microsoft Visual Basic für Applikationen-Fenster.
2. Klicken Sie Insert > Modulund fügen Sie den folgenden Code in das Feld ein Modulfenster.
VBA-Code: Transponieren Sie doppelte Zeilen in mehrere Spalten
Sub ConvertTable()
'Updateby Extendoffice
Dim xArr1 As Variant
Dim xArr2 As Variant
Dim InputRng As Range, OutRng As Range
Dim xRows As Long
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set OutRng = OutRng.Range("A1")
xArr1 = InputRng.Value
t = UBound(xArr1, 2): xRows = 1
With CreateObject("Scripting.Dictionary")
.CompareMode = 1
For i = 2 To UBound(xArr1, 1)
If Not .exists(xArr1(i, 1)) Then
xRows = xRows + 1: .Item(xArr1(i, 1)) = VBA.Array(xRows, t)
For ii = 1 To t
xArr1(xRows, ii) = xArr1(i, ii)
Next
Else
xArr2 = .Item(xArr1(i, 1))
If UBound(xArr1, 2) < xArr2(1) + t - 1 Then
ReDim Preserve xArr1(1 To UBound(xArr1, 1), 1 To xArr2(1) + t - 1)
For ii = 2 To t
xArr1(1, xArr2(1) + ii - 1) = xArr1(1, ii)
Next
End If
For ii = 2 To t
xArr1(xArr2(0), xArr2(1) + ii - 1) = xArr1(i, ii)
Next
xArr2(1) = xArr2(1) + t - 1: .Item(xArr1(i, 1)) = xArr2
End If
Next
End With
OutRng.Resize(xRows, UBound(xArr1, 2)).Value = xArr1
End Sub
3. Dann drücken F5 Wählen Sie im ausgeblendeten Dialogfeld den Datenbereich aus, in den Sie die doppelten Zeilen in mehrere Spalten konvertieren möchten, siehe Abbildung:
4. Klicken Sie OKund wählen Sie eine Zelle aus, in der Sie das Ergebnis in das folgende Dialogfeld einfügen möchten (siehe Screenshot):
5. Und dann klick OK Schaltfläche, Ihre ausgewählten Daten wurden wie folgt konvertiert:
In Verbindung stehende Artikel:
Wie transponiere / konvertiere ich Spalten und Zeilen in einzelne Zeilen?
Wie transponiere / konvertiere ich Spalten und Zeilen in einzelne Spalten?
Wie transponiere / konvertiere ich eine einzelne Spalte in mehrere Spalten in Excel?
Beste Office-Produktivitätstools
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 ...
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!