Sommario
L'esercitazione mostra diversi modi per passare dalle righe alle colonne in Excel: formule, codice VBA e uno strumento speciale.
La trasposizione dei dati in Excel è un'operazione familiare a molti utenti. Spesso si costruisce una tabella complessa per poi rendersi conto che ha perfettamente senso ruotarla per migliorare l'analisi o la presentazione dei dati nei grafici.
In questo articolo troverete diversi modi per convertire le righe in colonne (o le colonne in righe), in qualsiasi modo lo chiamiate, è la stessa cosa : ) Queste soluzioni funzionano in tutte le versioni di Excel 2010 fino a Excel 365, coprono molti scenari possibili e spiegano gli errori più comuni.
Convertire le righe in colonne in Excel usando Incolla speciale
Supponiamo di avere un set di dati simile a quello che si vede nella parte superiore del grafico sottostante. I nomi dei paesi sono organizzati in colonne, ma l'elenco dei paesi è troppo lungo, quindi è meglio cambiare le colonne in righe per far rientrare la tabella nello schermo:
Per passare dalle righe alle colonne, procedere come segue:
- Per selezionare rapidamente l'intera tabella, cioè tutte le celle con dati in un foglio di calcolo, premere Ctrl + Home e poi Ctrl + Shift + Fine .
- Copiare le celle selezionate facendo clic con il tasto destro del mouse sulla selezione e scegliendo Copia dal menu contestuale o premendo Ctrl + C .
- Selezionare la prima cella dell'intervallo di destinazione.
Assicuratevi di selezionare una cella che non rientri nell'intervallo contenente i dati originali, in modo che le aree di copia e di incolla non si sovrappongano. Ad esempio, se attualmente avete 4 colonne e 10 righe, la tabella convertita avrà 10 colonne e 4 righe.
- Fare clic con il tasto destro del mouse sulla cella di destinazione e scegliere Incolla speciale dal menu contestuale, quindi selezionare Trasposizione .
Per ulteriori informazioni, vedere Come usare l'Incolla speciale in Excel.
Nota: se i dati di origine contengono formule, assicurarsi di utilizzare correttamente i riferimenti relativi e assoluti, a seconda che debbano essere modificati o rimanere bloccati a determinate celle.
Come si è appena visto, la funzione Incolla speciale consente di eseguire trasformazioni da riga a colonna (o da colonna a riga) letteralmente in pochi secondi. Questo metodo copia anche la formattazione dei dati originali, il che aggiunge un ulteriore argomento a suo favore.
Tuttavia, questo approccio ha due inconvenienti che impediscono di definirla una soluzione perfetta per la trasposizione dei dati in Excel:
- Non è adatto per ruotare tabelle Excel completamente funzionanti. Se si copia l'intera tabella e poi si apre il file Incolla speciale si troverà la finestra di dialogo Trasposizione In questo caso, è necessario copiare la tabella senza intestazioni di colonna o convertirla prima in un intervallo.
- Incolla speciale > Trasposizione non collega la nuova tabella con i dati originali, quindi è adatto solo per conversioni una tantum. Ogni volta che i dati di origine cambiano, è necessario ripetere il processo e ruotare nuovamente la tabella. Nessuno vorrebbe perdere tempo a cambiare le stesse righe e colonne più volte, giusto?
Come trasporre una tabella e collegarla ai dati originali
Vediamo come è possibile passare dalle righe alle colonne utilizzando la nota funzione Incolla speciale L'aspetto migliore di questo approccio è che ogni volta che si modificano i dati nella tabella di origine, la tabella capovolta riflette le modifiche e si aggiorna di conseguenza.
- Copiare le righe da convertire in colonne (o le colonne da cambiare in righe).
- Selezionate una cella vuota nello stesso o in un altro foglio di lavoro.
- Aprire la sezione Incolla speciale come spiegato nell'esempio precedente e fare clic su Incolla link nell'angolo in basso a sinistra:
Si otterrà un risultato simile a questo:
Questo trasformerà il vostro tavolo in qualcosa di un po' spaventoso, come vedete nella schermata qui sotto, ma non fatevi prendere dal panico, bastano altri 2 passaggi e otterrete il risultato desiderato.
L'unico inconveniente di questo approccio è che la formattazione originale viene persa nel processo e sarà necessario ripristinarla manualmente (vi mostrerò un modo rapido per farlo più avanti in questa guida).
Come trasporre in Excel utilizzando le formule
Un modo più rapido per passare dinamicamente le colonne alle righe in Excel è quello di utilizzare la formula TRANSPOSE o INDEX/ADDRESS. Come nell'esempio precedente, anche queste formule mantengono i collegamenti ai dati originali, ma funzionano in modo leggermente diverso.
Cambiare le righe in colonne in Excel usando la funzione TRANSPOSE
Come suggerisce il nome, la funzione TRANSPOSE è stata progettata appositamente per trasporre i dati in Excel:
=TRANSPOSO(array)In questo esempio, convertiremo un'altra tabella che elenca gli Stati degli USA in base alla popolazione:
- Contate il numero di righe e colonne della tabella originale e selezionate lo stesso numero di celle vuote, ma nell'altra direzione.
Ad esempio, la nostra tabella di esempio ha 7 colonne e 6 righe, comprese le intestazioni. Poiché la funzione TRANSPOSE cambia le colonne in righe, selezioniamo un intervallo di 6 colonne e 7 righe.
- Con le celle vuote selezionate, digitate questa formula:
=TRASPOSIZIONE(A1:G6)
- Poiché la nostra formula deve essere applicata a più celle, premete Ctrl + Maiusc + Invio per renderla una formula di matrice.
Voilà, le colonne vengono trasformate in righe, esattamente come volevamo:
Vantaggi della funzione TRANSPOSE:
Il vantaggio principale dell'uso della funzione TRANSPOSE è che la tabella ruotata mantiene il collegamento con la tabella di origine e ogni volta che si modificano i dati di origine, la tabella trasposta cambia di conseguenza.
Punti deboli della funzione TRANSPOSE:
- La formattazione originale della tabella non viene salvata nella tabella convertita, come si vede nella schermata precedente.
- Se nella tabella originale ci sono celle vuote, le celle trasposte conterranno 0. Per risolvere questo problema, utilizzare TRANSPOSE in combinazione con la funzione IF come spiegato in questo esempio: Come trasporre senza zeri.
- Non è possibile modificare le celle della tabella ruotata perché dipende in larga misura dai dati di origine. Se si tenta di modificare il valore di una cella, si otterrà l'errore "Non è possibile modificare parte di una matrice".
In conclusione, per quanto la funzione TRANSPOSE sia buona e facile da usare, manca certamente di flessibilità e quindi potrebbe non essere la soluzione migliore in molte situazioni.
Per ulteriori informazioni, consultare la funzione TRANSPOSE di Excel con esempi.
Convertire una riga in una colonna con le funzioni INDIRETTO e INDIRIZZO
In questo esempio, utilizzeremo una combinazione di due funzioni, il che è un po' complicato. Perciò, ruotiamo una tabella più piccola per concentrarci meglio sulla formula.
Supponiamo di avere dati in 4 colonne (A - D) e 5 righe (1 - 5):
Per cambiare le colonne in righe, procedere come segue:
- Inserite la formula seguente nella cella più a sinistra dell'intervallo di destinazione, ad esempio A7, e premete il tasto Invio:
=INDIRETTO(INDIRIZZO(COLONNA(A1),RIGA(A1)))
- Copiare la formula verso destra e verso il basso su tutte le righe e colonne necessarie trascinando la piccola croce nera nell'angolo inferiore destro delle celle selezionate:
Nella tabella appena creata, tutte le colonne sono state trasformate in righe.
Se i dati iniziano in una riga diversa da 1 e in una colonna diversa da A, è necessario utilizzare una formula un po' più complessa:
=INDIRETTO(INDIRIZZO(COLONNA(A1) - COLONNA($A$1) + RIGA($A$1)), RIGA(A1) - RIGA($A$1) + COLONNA($A$1))))
Dove A1 è la cella in alto a sinistra della tabella di origine. Inoltre, fate attenzione all'uso di riferimenti assoluti e relativi alle celle.
Tuttavia, le celle trasposte hanno un aspetto molto semplice e monotono rispetto ai dati originali:
Per ripristinare la formattazione originale, ecco cosa fare:
- Copiare la tabella originale.
- Selezionare la tabella risultante.
- Fare clic con il tasto destro del mouse sulla tabella risultante e scegliere Opzioni di incollaggio > Formattazione .
Vantaggi Questa formula offre un modo più flessibile per trasformare le righe in colonne in Excel e consente di apportare qualsiasi modifica alla tabella trasposta perché si utilizza una formula normale e non una formula di matrice.
Carenze : ne vedo solo uno: la formattazione dei dati ordinali è andata persa. Tuttavia, è possibile ripristinarla rapidamente, come mostrato sopra.
Come funziona questa formula
Ora che si sa come utilizzare la combinazione INDIRETTO/INDIRIZZO, è bene capire cosa fa effettivamente la formula.
Come suggerisce il nome, la funzione INDIRETTO viene utilizzata per fare riferimento indiretto a una cella. Ma il vero potere di INDIRETTO è che può trasformare qualsiasi stringa in un riferimento, compresa una stringa costruita utilizzando altre funzioni e i valori di altre celle. E questo è esattamente ciò che faremo. Se state seguendo questo, capirete tutto il resto con facilità : )
Come ricorderete, abbiamo utilizzato altre 3 funzioni nella formula: INDIRIZZO, COLONNA e RIGA.
La funzione INDIRIZZO ottiene l'indirizzo della cella in base ai numeri di riga e di colonna specificati, ricordando l'ordine: primo - riga, secondo - colonna.
In altre parole, questa parte della formula INDIRIZZO(COLONNA(A1),FILA(A1)) scambia le righe con le colonne, cioè prende un numero di colonna e lo trasforma in numero di riga, quindi prende un numero di riga e lo trasforma in numero di colonna.
Infine, la funzione INDIRETTO produce i dati ruotati. Niente di terribile, vero?
Trasporre i dati in Excel utilizzando la macro VBA
Per automatizzare la conversione delle righe in colonne in Excel, è possibile utilizzare la seguente macro:
Sub TransposeColumnsRows() Dim SourceRange As Range Dim DestRange As Range Set SourceRange = Application.InputBox(Prompt:= "Selezionare l'intervallo da trasporre" , Title:= "Transpose Rows to Columns" , Type :=8) Set DestRange = Application.InputBox(Prompt:= "Selezionare la cella superiore sinistra dell'intervallo di destinazione" , Title:= "Transpose Rows to Columns" , Type :=8) SourceRange.Copy DestRange Select.Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= False , Transpose:= True Application.CutCopyMode = False End SubPer aggiungere una macro al foglio di lavoro, seguire le linee guida descritte in Come inserire ed eseguire codice VBA in Excel.
Nota: la trasposizione con VBA ha un limite di 65536 elementi. Nel caso in cui l'array superi questo limite, i dati in più verranno eliminati silenziosamente.
Come utilizzare la macro per convertire la riga in colonna
Con la macro inserita nella cartella di lavoro, eseguire i passaggi seguenti per ruotare la tabella:
- Aprire il foglio di lavoro di destinazione, premere Alt + F8 , selezionare la voce TrasponiColonneRighe e fare clic su Correre .
Godetevi il risultato :)
Cambiare le colonne e le righe con lo strumento Trasponi
Se avete bisogno di eseguire regolarmente trasformazioni da riga a colonna, potreste essere alla ricerca di un modo più semplice e veloce. Fortunatamente, io ho un modo simile nel mio Excel, e così anche gli altri utenti della nostra Ultimate Suite :)
Vi mostrerò come cambiare riga e colonna in Excel con un paio di clic:
- Selezionate una cella qualsiasi all'interno della tabella, passate alla voce Ablebits scheda> Trasformazione e fare clic sul pulsante Trasposizione pulsante.
Se desiderate Incolla solo i valori o Creare collegamenti ai dati di origine per forzare l'aggiornamento automatico della tabella ruotata a ogni modifica apportata alla tabella originale, selezionare l'opzione corrispondente.
La tabella è trasposta, la formattazione è conservata e non sono necessarie altre manipolazioni:
Se siete curiosi di provare questo e altri 70 strumenti professionali per Excel, vi invito a scaricare una versione di prova della nostra Ultimate Suite. Grazie per la lettura e spero di vedervi sul nostro blog la prossima settimana!