Come trasporre righe duplicate in colonne in Excel?
Supponendo che tu abbia un intervallo di dati in Excel, ora, vorresti trasporre le righe duplicate in più colonne come mostrato nella seguente schermata, hai qualche buona idea per risolvere questo compito?
Trasponi righe duplicate in colonne con codice VBA
Trasponi righe duplicate in colonne con codice VBA
Sfortunatamente, non esiste un modo diretto per gestirlo in Excel, ma puoi creare un codice VBA per risolverlo, per favore fai come segue:
1. Tenere premuto il tasto ALT + F11 chiavi per aprire il Finestra di Microsoft Visual Basic, Applications Edition.
2. Clic inserire > Modulie incolla il codice seguente nel file Finestra del modulo.
Codice VBA: trasponi le righe duplicate in più colonne
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. Quindi premere F5 chiave per eseguire questo codice, seleziona l'intervallo di dati in cui desideri convertire le righe duplicate in più colonne nella finestra di dialogo visualizzata, vedi screenshot:
4. Clic OKe seleziona una cella in cui desideri inserire il risultato nella seguente finestra di dialogo, vedi screenshot:
5. Quindi fare clic su OK pulsante, i dati selezionati sono stati convertiti come segue:
Articoli correlati:
Come trasporre / convertire colonne e righe in una singola riga?
Come trasporre / convertire colonne e righe in una singola colonna?
Come trasporre / convertire una singola colonna in più colonne in Excel?
I migliori strumenti per la produttività in ufficio
Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Fai clic qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
- Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!