KutoolsforOffice — Un'unica soluzione, cinque potenti strumenti.Ottenere di più con meno sforzo.

Come trasporre le celle di una colonna in base ai valori univoci presenti in un’altra colonna?

AutoreXiaoyang Data di modifica

Supponiamo che tu abbia un intervallo di dati con due colonne e che ora voglia trasporre i valori di una colonna in righe orizzontali, raggruppandoli in base ai valori univoci presenti nell’altra colonna, per ottenere il risultato mostrato. Hai qualche buona idea su come risolvere questo problema in Excel?

Uno screenshot che mostra il risultato desiderato dopo aver trasposto le celle in base ai valori univoci

Trasponi celle in una colonna in base ai valori univoci con formule

Trasponi celle in una colonna in base ai valori univoci con codice VBA

Trasponi celle in una colonna in base ai valori univoci con Kutools per Excel


Trasponi celle in una colonna in base ai valori univoci con formule

Con le seguenti formule matriciali puoi estrarre i valori univoci e trasporre i dati corrispondenti in righe orizzontali. Ecco come procedere:

1. Inserisci questa formula matriciale: =INDICE($A$2:$A$16; CONFRONTA(0; CONTA.SE($D$1:$D1; $A$2:$A$16); 0)) in una cella vuota, ad esempio D2, e premi contemporaneamente i tasti Maiusc + Ctrl + Invio per ottenere il risultato corretto. Vedi screenshot:

Uno screenshot che mostra la formula per estrarre valori univoci per trasporre i dati

Nota: Nella formula sopra, A2:A16 è la colonna da cui desideri estrarre i valori univoci e D1 è la cella posizionata immediatamente sopra quella contenente la formula.

2. Trascina quindi il quadratino di riempimento verso il basso nelle celle sottostanti per estrarre tutti i valori univoci. Vedi screenshot:

Uno screenshot che mostra i valori univoci estratti utilizzando una formula

3. Inserisci quindi questa formula nella cella E2:=IFERROR(INDEX($B$2:$B$16, MATCH(0, COUNTIF($D2:D2,$B$2:$B$16)+IF($A$2:$A$16<>$D2, 1, 0), 0)), 0) e ricorda di premere contemporaneamente i tasti Maiusc + Ctrl + Invio per ottenere il risultato. Vedi screenshot:

Uno screenshot che mostra la formula per trasporre celle in Excel in base a valori univoci

Nota: Nella formula sopra, B2:B16 è la colonna contenente i dati da trasporre, A2:A16 è la colonna in base alla quale desideri effettuare la trasposizione e D2 contiene il valore univoco estratto al Passo 1.

4.Trascina quindi il quadratino di riempimento verso destra nelle celle in cui desideri visualizzare i dati trasposti, fino a quando non compare 0, vedi screenshot:

Uno screenshot che mostra i dati trasposti in Excel utilizzando formule

5. Trascina quindi il quadratino di riempimento verso il basso nell'intervallo di celle per ottenere i dati trasposti, come mostrato nello screenshot seguente:

Uno screenshot che mostra il risultato finale dei dati trasposti in Excel in base ai valori univoci


Trasponi celle in una colonna in base ai valori univoci con codice VBA

Le formule potrebbero sembrarti complesse da comprendere. In alternativa, puoi eseguire il seguente codice VBA per ottenere subito il risultato desiderato.

1. Tieni premuti i tasti ALT + F11 per aprire la finestra di Microsoft Visual Basic, Applications.

2. Fai clic su Inserisci > Modulo, quindi incolla il codice seguente nella finestra del Modulo.

Codice VBA: Trasponi celle in una colonna in base ai valori univoci in un'altra colonna:

Sub transposeunique()
'updateby Extendoffice
    Dim xLRow As Long
    Dim i As Long
    Dim xCrit As String
    Dim xCol  As New Collection
    Dim xRg As Range
    Dim xOutRg As Range
    Dim xTxt As String
    Dim xCount As Long
    Dim xVRg As Range
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("please select data range(only two columns):", "Kutools for Excel", xTxt, , , , , 8)
    Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
    If xRg Is Nothing Then Exit Sub
    If (xRg.Columns.Count <> 2) Or _
       (xRg.Areas.Count > 1) Then
        MsgBox "the used range is only one area with two columns ", , "Kutools for Excel"
        Exit Sub
    End If
    Set xOutRg = Application.InputBox("please select output range(specify one cell):", "Kutools for Excel", xTxt, , , , , 8)
    If xOutRg Is Nothing Then Exit Sub
    Set xOutRg = xOutRg.Range(1)
    xLRow = xRg.Rows.Count
    For i = 2 To xLRow
        xCol.Add xRg.Cells(i, 1).Value, xRg.Cells(i, 1).Value
    Next
    Application.ScreenUpdating = False
    For i = 1 To xCol.Count
        xCrit = xCol.Item(i)
        xOutRg.Offset(i, 0) = xCrit
        xRg.AutoFilter Field:=1, Criteria1:=xCrit
        Set xVRg = xRg.Range("B2:B" & xLRow).SpecialCells(xlCellTypeVisible)
        If xVRg.Count > xCount Then xCount = xVRg.Count
        xRg.Range("B2:B" & xLRow).SpecialCells(xlCellTypeVisible).Copy
        xOutRg.Offset(i, 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
        Application.CutCopyMode = False
    Next
    xOutRg = xRg.Cells(1, 1)
    xOutRg.Offset(0, 1).Resize(1, xCount) = xRg.Cells(1, 2)
    xRg.Rows(1).Copy
    xOutRg.Resize(1, xCount + 1).PasteSpecial Paste:=xlPasteFormats
    xRg.AutoFilter
    Application.ScreenUpdating = True
End Sub

3. Premi quindi il tasto F5 per eseguire il codice. Comparirà una finestra di dialogo che ti chiederà di selezionare l’intervallo dati da utilizzare, vedi screenshot:

Uno screenshot di una finestra di dialogo per selezionare un intervallo di dati da trasporre in Excel

4. Fai quindi clic sul pulsante OK. Comparirà un'altra finestra di dialogo che ti chiederà di selezionare una cella in cui inserire il risultato. Vedi screenshot:

Uno screenshot di una finestra di dialogo per selezionare una cella di output per i dati trasposti in Excel

6. Fai clic sul pulsante OK e i dati nella colonna B verranno trasposti in base ai valori univoci nella colonna A. Vedi screenshot:

Uno screenshot che mostra i dati trasposti in Excel dopo aver eseguito il codice VBA


Trasponi celle in una colonna in base ai valori univoci con Kutools per Excel

Se disponi di Kutools per Excel, combinando le funzionalità Unione avanzata righe e Dividi celle, puoi completare rapidamente questa operazione senza dover ricorrere a formule o codice.

Kutools per Exceloffre oltre 300 funzionalità avanzate per semplificare attività complesse, aumentando creatività ed efficienza.Integrato con funzionalità basate sull’IA, Kutools automatizza le attività con precisione, rendendo la gestione dei dati semplice e immediata.Informazioni dettagliate su Kutools per Excel...         Prova gratuita...

Dopo aver installato Kutools per Excel, procedi come segue:

1. Seleziona l’intervallo di dati da utilizzare. (Se desideri conservare i dati originali, copiali e incollali prima in un’altra posizione.)

2. Fai quindi clic su Kutools > Unisci e Dividi > Unione avanzata righe, vedi screenshot:

Uno screenshot dell'opzione Combina righe avanzate nella scheda Kutools sulla barra multifunzione

3. Nella finestra di dialogo Combinare Righe in base alla colonna, esegui le seguenti operazioni:

(1.) Fai clic sul nome della colonna in base alla quale desideri trasporre i dati e seleziona Chiave primaria;

([[PH_36].) Fai clic su un’altra colonna che desideri trasporre, quindi su Combina e scegli un separatore per i dati combinati, ad esempio spazio, virgola o punto e virgola.

Uno screenshot della finestra di dialogo Combina righe in base a colonna

4. Fai quindi clic sul pulsante Ok. I dati nella colonna B saranno combinati in un’unica cella in base alla colonna A, come mostrato nello screenshot:

Uno screenshot che mostra i dati combinati in Kutools for Excel dopo aver unito le righe in base ai valori univoci

5. Seleziona quindi le celle unite e fai clic su Kutools > Unisci e Dividi > Dividi celle, vedi screenshot:

Uno screenshot dell'opzione Separa celle nella scheda Kutools sulla barra multifunzione

6. Nella finestra di dialogo Dividi celle, seleziona Dividi in colonne sotto l'opzione Tipo, quindi scegli il separatore utilizzato per combinare i dati. Vedi screenshot:

Uno screenshot della finestra di dialogo Separa celle

7. Fai quindi clic sul pulsante Ok e seleziona una cella in cui inserire il risultato suddiviso nella finestra di dialogo visualizzata, vedi screenshot:

Uno screenshot della finestra di dialogo per selezionare la cella di output

8. Fai clic su OK e otterrai il risultato desiderato. Vedi screenshot:

Uno screenshot che mostra il risultato finale dei dati trasposti

Scarica e prova gratis Kutools per Excel ora!


Demo: Trasponi celle in una colonna in base ai valori univoci con Kutools per Excel

 
Kutools per Excel: Oltre 300 strumenti pratici a portata di mano! Goditi funzionalità basate sull’intelligenza artificiale per lavorare in modo più intelligente e veloce!Scarica ora!

Migliori Strumenti per la Produttività in Office

🤖KUTOOLS AI Assistente: Rivoluziona Analisi dei dati in base a:Esecuzione Intelligente   |  Genera Codice|  Crea formule personalizzate  |  Analizza Dati e Genera Grafici|  Richiama Funzioni avanzate
Funzionalità Popolari:Trova, Evidenzia o Contrassegna Duplicati   |  Elimina righe vuote   |  Combinare Colonne o Celle senza Perdere Dati   |   Arrotondamento senza usare la formula...
Super RICERCA.VERT:VLookup con Criteri Multipli  |  VLookup con Valori Multipli  |   VLookup tra Fogli Multipli   |   Corrispondenza approssimativa....
Elenco a discesa avanzato:Crea Rapidamente un Elenco a Discesa   |  Elenco a Discesa Dipendente   |  Elenco a Discesa con Selezione Multipla....
Gestione Colonne:Aggiungi un Numero Specifico di Colonne|Sposta Colonne|Attiva/Disattiva lo Stato di Visibilità delle Colonne Nascoste|Confronta Intervalli e Colonne...
Funzionalità in Evidenza:Attenzione della griglia   |  Visualizzazione Design   |Barra delle formule avanzata   | Gestione Cartelle di Lavoro e Fogli   |  Biblioteca di risorse(Testo Automatico)|  Selettore di Date   |  Unisci fogli di lavoro  |  Crittografa/Decrittografa celle   | Invia Email da Lista   |  Super Filtri   |   Filtro speciale(Filtra celle con testo in grassetto/corsivo/barrato...) ...
Principali Set di Strumenti 15:12 Strumentiper il Testo(Aggiungi testo,Elimina Caratteri Specifici, ...)|   50+Tipidi Grafico(Diagramma di Gantt, ...)|   40+ Formule Pratiche(Calcola l'età in base alla data di nascita, ...)|   19 Strumentidi Inserimento(Inserisci Codice QR,Inserisci Immagine dal Percorso, ...)|   12 Strumentidi Conversione(Converti in parole,Conversione del tasso di cambio, ...)|   7 StrumentiUnisci e Dividi(Unione avanzata righe,Dividi celle, ...)|... e molto altro
Usa Kutools nella tua lingua preferita – supporta inglese, spagnolo, tedesco, francese, cinese e 40+ altre!

Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un’efficienza mai vista prima.Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e Risparmia tempo.Clicca qui per ottenere la funzionalità di cui hai più bisogno...


Office Tab Porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice

  • 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 all’interno della stessa finestra, invece che in finestre separate.
  • Aumenta la tua produttività del 50 % e risparmia centinaia di clic del mouse ogni giorno!

Tutti i componenti aggiuntivi di Kutools in un unico programma di installazione.

Kutools for Office è la suite che include componenti aggiuntivi per Excel, Word, Outlook e PowerPoint, oltre a Office Tab Pro: la soluzione ideale per i team che lavorano su diverse app di Office.

ExcelWordOutlookTabsPowerPoint
  • Suite completa— componenti aggiuntivi per Excel, Word, Outlook e PowerPoint + Office Tab Pro
  • Un unico programma di installazione, una sola licenza— configurazione in pochi minuti (pronto per MSI)
  • Funziona meglio insieme— produttività ottimizzata tra le app di Office
  • Prova gratuita di 30 giorni con tutte le funzionalità— nessuna registrazione, nessuna carta di credito
  • Miglior rapporto qualità-prezzo— risparmia rispetto all’acquisto dei singoli componenti aggiuntivi