Come impilare rapidamente più colonne in una sola colonna in Excel?
In Excel, la Testo in Colonne funzionalità è progettata per dividere i dati di una singola colonna in più colonne utilizzando un delimitatore specificato. Tuttavia, cosa succede se hai bisogno di fare l'opposto—combinare o impilare i valori di più colonne in una singola colonna, come mostrato nell'esempio qui sotto? Questo scenario si verifica frequentemente quando si consolidano set di dati, si preparano informazioni per l'analisi o si formattano report per ulteriori elaborazioni. Sfortunatamente, non esiste una funzione integrata in Excel che impili direttamente le colonne verticalmente, ma ci sono diverse soluzioni pratiche che puoi utilizzare per svolgere questo compito in modo efficiente.
Impila più colonne in una con formula
Impila più colonne in una con VBA
Impila più colonne in una con Trasforma Intervallo
Impila più colonne in una con Power Query
Impila più colonne in una con formula
Se preferisci non usare macro o add-in, puoi impilare più colonne in una singola colonna con una formula matriciale utilizzando la funzione INDICE. Questo approccio è adatto per set di dati dinamici o situazioni in cui vuoi evitare operazioni manuali. Uno dei vantaggi è che la formula aggiornerà automaticamente i risultati se i tuoi dati di origine cambiano, ma devi essere preciso con i nomi degli intervalli e evitare di inserire o eliminare celle all'interno dell'intervallo referenziato.
1. Seleziona l'intervallo di dati che desideri impilare (ad esempio, A1:C4), quindi fai clic nella Casella Nome (situata a sinistra della barra delle formule), digita un nome significativo come MieiDati, e premi Invio. Questo assegna un nome al tuo intervallo per facilitarne il riferimento.
2. Fai clic su una cella vuota dove vuoi che inizi la colonna impilata singola—generalmente sotto i tuoi dati o in un altro foglio. Incolla questa formula nella cella selezionata:
=INDEX(MyData,1+INT((ROW(A1)-1)/COLUMNS(MyData)),MOD(ROW(A1)-1+COLUMNS(MyData),COLUMNS(MyData))+1)
3. Premi Invio per confermare, quindi trascina la maniglia di riempimento verso il basso finché non vedi un #RIF! o un errore simile, indicando che tutti i dati sono stati elencati. Elimina la cella con l'errore se necessario.
In questa formula, MieiDati si riferisce all'intervallo che hai definito nel passaggio 1. COLONNE(MieiDati) si adatta automaticamente al numero di colonne nei tuoi dati. Assicurati di non inserire o eliminare colonne all'interno di MieiDati dopo aver inserito la formula, poiché ciò può influenzare i risultati. Se i tuoi dati contengono celle vuote, anche quelle vuote verranno impilate—puoi filtrarle successivamente se necessario. Per intervalli estesi, trascinare la maniglia di riempimento può richiedere tempo; considera di fare doppio clic sulla maniglia di riempimento se la colonna a sinistra ha dati fino in fondo.
Se la tua versione di Excel supporta array dinamici (Excel365 o Excel2021 e successive), puoi provare:
=TOCOL(MyData,1)
Questa formula è disponibile solo nelle versioni più recenti di Excel e impila istantaneamente le colonne in una singola colonna.
Impila più colonne in una con VBA
Se hai spesso bisogno di impilare colonne o vuoi un maggiore controllo, una macro VBA può automatizzare questo processo in pochi clic. VBA è ideale per utenti avanzati che gestiscono grandi set di dati o attività ripetitive. Tieni presente, tuttavia, che abilitare le macro può rappresentare un rischio per la sicurezza se non sei sicuro della fonte della macro. Salva sempre il tuo file prima e fai attenzione quando esegui codice non familiare.
1. Premi Alt + F11 per aprire la finestra Microsoft Visual Basic for Applications.
2. Nella finestra VBA, fai clic su Inserisci > Modulo. Copia e incolla il seguente codice nel nuovo modulo:
VBA: Impila colonne in una
Sub ConvertRangeToColumn()
'UpdatebyExtendoffice
Dim Range1 As Range, Range2 As Range, Rng As Range
Dim rowIndex As Integer
xTitleId = "KutoolsforExcel"
Set Range1 = Application.Selection
Set Range1 = Application.InputBox("Source Ranges:", xTitleId, Range1.Address, Type:=8)
Set Range2 = Application.InputBox("Convert to (single cell):", xTitleId, Type:=8)
rowIndex = 0
Application.ScreenUpdating = False
For Each Rng In Range1.Rows
Rng.Copy
Range2.Offset(rowIndex, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
rowIndex = rowIndex + Rng.Columns.Count
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
3. Per eseguire la macro, premi F5, oppure fai clic sul pulsante Esegui. Dopo aver eseguito, apparirà un prompt—seleziona l'intervallo di dati che desideri impilare e fai clic su OK.
4. Ti verrà quindi chiesto di selezionare una cella di destinazione per il risultato. Fai clic OK di nuovo. Le colonne verranno impilate in una singola colonna a partire dalla cella di destinazione.
Se incontri un errore, ricontrolla l'intervallo selezionato e assicurati che non ci siano fogli protetti o celle unite. Per personalizzazioni avanzate, come saltare le celle vuote o impilare solo determinate colonne, il codice può essere ulteriormente modificato. Ricorda di salvare il tuo lavoro prima di eseguire il codice VBA per prevenire la perdita indesiderata di dati.
Impila più colonne in una con Trasforma Intervallo
Se preferisci una soluzione rapida e facile da usare senza dover scrivere formule o codici, puoi utilizzare la funzionalità Trasforma Intervallo di Kutools per Excel. Questo strumento è particolarmente utile per gli utenti che vogliono elaborare i dati rapidamente tramite un'interfaccia intuitiva, come amministratori di ufficio o coloro che elaborano regolarmente dati multidimensionali. L'uso di Kutools riduce il rischio di errori nelle formule e fa risparmiare molto tempo, anche se richiede l'installazione dell'add-in.
Dopo aver installato gratuitamente Kutools per Excel, procedi come segue:
1. Seleziona le colonne o l'intervallo di dati che vuoi impilare in una colonna. Poi fai clic su Kutools > Intervallo > Trasforma Intervallo per aprire la finestra di dialogo.
2. Nel Trasforma Intervallo finestra di dialogo, scegli l'opzione Intervallo a Singola Colonna e fai clic su OK. Successivamente, seleziona una cella in cui vuoi che appaia il risultato.
3. Infine, fai clic su OK. Le colonne selezionate verranno immediatamente impilate in una colonna nel luogo scelto.
Questo metodo è semplice e privo di errori. Ricorda che puoi facilmente annullare la modifica (Ctrl + Z) se qualcosa non sembra corretto, o rieseguire Trasforma Intervallo secondo necessità per diversi set di dati. Se i tuoi dati contengono celle unite, è meglio separarle prima di utilizzare questa funzionalità per evitare risultati imprevisti.
Impila più colonne in una con Power Query
Power Query (chiamato anche Ottieni & Trasforma in alcune versioni di Excel) è un altro modo pratico per impilare più colonne in una, specialmente per gli utenti che gestiscono grandi volumi di dati o che hanno bisogno di automatizzare attività di trasformazione dati ricorrenti. Power Query è integrato in Excel 2016 e versioni successive ed è disponibile come add-in gratuito per Excel 2010 e 2013. È più utile per la preparazione avanzata dei dati e può gestire facilmente operazioni di rimodellamento complesse con una semplice interfaccia utente. Tuttavia, c'è una breve curva di apprendimento per i primi utenti.
Carica la tua tabella di origine in Power Query. Seleziona i tuoi dati in Excel. Vai su Dati > Da Tabella/Intervallo per aprire l'editor di Power Query.
2. Seleziona tutte le colonne nell'anteprima della query. Vai alla scheda Trasforma, trova il gruppo Tabella, e fai clic su Trasponi. Questo inverte righe e colonne.
3. Ancora, seleziona tutte le colonne trasposte. Nella scheda Trasforma, nel gruppo Qualsiasi Colonna, fai clic su Dispiega Colonne.
4. Rimuovi la colonna "Attributo" se non è necessaria. Fai clic con il tasto destro sul titolo della colonna "Attributo" > Seleziona Rimuovi.
5. Fai clic su Chiudi & Carica per inviare il risultato a Excel come un nuovo foglio di lavoro o tabella. In qualsiasi momento, puoi aggiornare o riapplicare la trasformazione se i tuoi dati di origine cambiano.
Power Query ti consente di salvare questo processo di impilamento come una query riutilizzabile e aggiornare rapidamente i risultati se i tuoi dati cambiano in futuro.
Nota: Questo approccio potrebbe non preservare le informazioni originali dell'intestazione delle colonne dai dati di origine.
In sintesi, ognuno di questi metodi ha i suoi punti di forza: le formule sono adatte per l'aggiornamento dinamico dei dati, VBA è eccellente per automatizzare attività ripetitive, Kutools per Excel consente operazioni punto-e-clicca con poca conoscenza tecnica richiesta, e Power Query è ideale per trasformazioni avanzate o ricorrenti. Rivedi sempre i tuoi dati impilati per individuare eventuali celle vuote rimanenti, celle unite o errori di formattazione dopo l'elaborazione. Se compaiono errori o risultati imprevisti, ricontrolla gli intervalli definiti o le selezioni dei passaggi. Utilizzare una combinazione di questi metodi ti aiuterà a gestire e trasformare efficacemente i tuoi dati Excel per le esigenze di reporting e analisi.
I migliori strumenti per la produttività in Office
Migliora le tue competenze su Excel con Kutools per Excel e sperimenta un nuovo livello di efficienza. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...
Office Tab porta l’interfaccia a schede su Office, rendendo il tuo lavoro molto più semplice
- Abilita la modifica a schede e la lettura in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, invece che in nuove finestre.
- Aumenta la tua produttività del50% e ti fa risparmiare centinaia di clic ogni giorno!