Hur transponerar man dubbla rader till kolumner i Excel?
Om du antar att du har en rad data i Excel, nu vill du transponera de dubbla raderna till flera kolumner enligt följande skärmdump, har du några bra idéer för att lösa den här uppgiften?
Transponera dubbla rader till kolumner med VBA-kod
Transponera dubbla rader till kolumner med VBA-kod
Tyvärr finns det inget direkt sätt för dig att hantera det i Excel, men du kan skapa en VBA-kod för att lösa den, gör så här:
1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic for Applications-fönstret.
2. Klicka Insert > Modulernaoch klistra in följande kod i Modulfönster.
VBA-kod: Transponera dubbletterader till flera kolumner
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. Tryck sedan på F5 nyckel för att köra den här koden, välj det dataområde som du vill konvertera dubbletteraderna till flera kolumner i dialogrutan poppade ut, se skärmdump:
4. Klicka OK, och välj en cell där du vill placera resultatet i följande dialogruta, se skärmdump:
5. Och klicka sedan på OK knappen har dina valda data konverterats till följande:
Relaterade artiklar:
Hur transponerar / konverterar man kolumner och rader till en rad?
Hur transponerar / konverterar jag kolumner och rader till en kolumn?
Hur transponerar / konverterar jag en enda kolumn till flera kolumner i Excel?
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!