Hvordan transponerer man duplikatrækker til kolonner i Excel?
Antag, at du har en række data i Excel, nu vil du transponere de duplikerede rækker til flere kolonner som vist nedenstående skærmbillede, har du gode ideer til at løse denne opgave?
Transporter duplikatrækker til kolonner med VBA-kode
Transporter duplikatrækker til kolonner med VBA-kode
Desværre er der ingen direkte måde for dig at håndtere det på i Excel, men du kan oprette en VBA-kode for at løse den. Gør som følger:
1. Hold nede i ALT + F11 nøgler til at åbne Vinduet Microsoft Visual Basic til applikationer.
2. Klik indsatte > Moduler, og indsæt følgende kode i Modul vindue.
VBA-kode: Transporter duplikerede rækker til flere kolonner
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. Tryk derefter på F5 nøgle til at køre denne kode, vælg det dataområde, som du vil konvertere de dobbelte rækker til flere kolonner i dialogboksen, der vises, se skærmbillede:
4. Klik OK, og vælg en celle, hvor du vil placere resultatet i følgende dialogboks, se skærmbillede:
5. Og klik derefter på OK knappen, dine valgte data er konverteret til følgende:
Relaterede artikler:
Hvordan transponerer / konverterer jeg kolonner og rækker til en enkelt række?
Hvordan transponerer / konverterer jeg kolonner og rækker til en enkelt kolonne?
Hvordan transponeres / konverteres en enkelt kolonne til flere kolonner i Excel?
Bedste kontorproduktivitetsværktøjer
Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid. Klik her for at få den funktion, du har mest brug for...
Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere
- Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
- Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
- Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!