Cum se transpune rândurile duplicate în coloane în Excel?
Presupunând că aveți o serie de date în Excel, acum, doriți să transpuneți rândurile duplicate în mai multe coloane, după cum se arată în următoarea captură de ecran, aveți idei bune pentru a rezolva această sarcină?
Transpuneți rândurile duplicate în coloane cu cod VBA
Transpuneți rândurile duplicate în coloane cu cod VBA
Din păcate, nu există nicio modalitate directă de a face față acestuia în Excel, dar puteți crea un cod VBA pentru a-l rezolva, faceți următoarele:
1. Țineți apăsată tasta ALT + F11 tastele pentru a deschide Fereastra Microsoft Visual Basic pentru aplicații.
2. Clic Insera > Moduleși lipiți următorul cod în Fereastra modulului.
Cod VBA: transpuneți rândurile duplicate în mai multe coloane
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. Apoi apăsați F5 tasta pentru a rula acest cod, selectați intervalul de date pe care doriți să îl convertiți pe rândurile duplicate în mai multe coloane din dialogul pop-out, consultați captura de ecran:
4. Clic OK, și selectați o celulă în care doriți să puneți rezultatul în următoarea casetă de dialog, consultați captura de ecran:
5. Apoi faceți clic pe OK butonul, datele selectate au fost convertite în următoarele:
Articole pe aceeași temă:
Cum transpuneți / convertiți coloanele și rândurile într-un singur rând?
Cum transpuneți / convertiți coloanele și rândurile într-o singură coloană?
Cum se transpune / convertește o singură coloană în mai multe coloane în Excel?
Cele mai bune instrumente de productivitate de birou
Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp. Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...
Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară
- Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
- Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ferestrele noi.
- Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!