Per scambiare righe e colonne in Excel, scrivi =MATR.TRASPOSTA(A1:D3) dove deve partire il risultato: la prima riga di A1:D3 diventa la prima colonna del risultato. Il risultato resta collegato, quindi cambiare un numero nell'origine lo cambia anche nella copia. Cambia B2 in 50 e guarda B6 seguirlo. In inglese MATR.TRASPOSTA si chiama TRANSPOSE, ed è così che la mostra la tabella; puoi scrivere le formule anche in italiano, con il punto e virgola.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Rep | Q1 | Q2 | Q3 |
| 2 | Ann | 10 | 12 | 9 |
| 3 | Ben | 8 | 11 | 14 |
| 4 | ||||
| 5 | Rep | Ann | Ben | |
| 6 | Q1 | 10 | 8 | |
| 7 | Q2 | 12 | 11 | |
| 8 | Q3 | 9 | 14 |
=MATR.TRASPOSTA(A1:D3)L'origine ha 3 righe e 4 colonne, quindi il risultato ha 4 righe e 3 colonne. In Excel 2021 e Microsoft 365, MATR.TRASPOSTA si espande: la scrivi in una cella e premi Invio.
Come trasporre con Incolla speciale
Quando la tabella scambiata ti serve una volta sola, Incolla speciale è più rapido e non lascia formule:
- Seleziona l'intervallo e copialo (Ctrl+C, Cmd+C su Mac).
- Fai clic sulla cella in alto a sinistra di dove deve andare il risultato, fuori dall'intervallo copiato.
- Nella scheda Home fai clic sulla freccia sotto Incolla e scegli Trasponi, oppure premi Ctrl+Alt+V (Cmd+Ctrl+V su Mac), spunta Trasponi e fai clic su OK.
Su Windows il percorso da tastiera dopo aver copiato è Alt, H, V, T. La copia incollata mantiene la formattazione ma non è collegata: quando l'origine cambia, incolla di nuovo. Excel adatta le formule dentro l'intervallo copiato alle loro nuove posizioni; controlla quelle che usano riferimenti relativi, oppure incolla come valori se ti servono solo i numeri.
Sintassi di MATR.TRASPOSTA
=TRANSPOSE(array)
L'unico argomento è l'intervallo o la matrice da ribaltare. MATR.TRASPOSTA è in Excel da molto tempo, ma prima di Excel 2021 è una formula matriciale: seleziona prima una destinazione della forma giusta (4 righe per 3 colonne per l'esempio sopra), scrivi la formula e premi Ctrl+Maiusc+Invio (Cmd+Maiusc+Invio su Mac). Excel la mostra allora tra parentesi graffe, {=MATR.TRASPOSTA(A1:D3)}. In Excel 2021 e Microsoft 365 basta Invio, e un valore che occupa lo spazio dà #ESPANSIONE! (in inglese #SPILL!; la tabella mostra i nomi inglesi degli errori).
Anche Google Sheets ha TRANSPOSE e la espande allo stesso modo.
Trasformare una colonna in una riga
La stessa funzione ribalta una sola colonna in una riga, per esempio un elenco di nomi in intestazioni di colonna:
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Name | ||||||
| 2 | Ann | Ann | Ben | Cara | Dan | Eve | |
| 3 | Ben | ||||||
| 4 | Cara | ||||||
| 5 | Dan | ||||||
| 6 | Eve |
=MATR.TRASPOSTA(A2:A6)C2 espande da Ann a Eve lungo C2:G2. Aggiungi un nome in A7 e non viene incluso, perché la formula legge A2:A6; estendi l'intervallo ad A2:A7 o oltre per includerlo.
Perché MATR.TRASPOSTA mostra 0 per le celle vuote
Una formula che punta a una cella vuota restituisce 0, e così anche MATR.TRASPOSTA. Qui sotto marzo non ha vendite, quindi la versione semplice mostra 0 dove l'origine è vuota:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Month | Jan | Feb | Mar | Apr |
| 2 | Sales | 120 | 95 | 150 | |
| 3 | |||||
| 4 | Month | Sales | Month | Sales | |
| 5 | Jan | 120 | Jan | 120 | |
| 6 | Feb | 95 | Feb | 95 | |
| 7 | Mar | 0 | Mar | ||
| 8 | Apr | 150 | Apr | 150 |
=MATR.TRASPOSTA(SE(A1:E2="";"";A1:E2))B7 mostra 0 per Mar. La seconda formula trasforma prima ogni cella vuota in testo vuoto con SE, quindi E7 resta vuota. Scrivi un numero in D2 ed entrambe le formule lo mostrano.
Trasporre più righe in una colonna
Per impilare un'intera griglia in una sola colonna, usa A.COL (in inglese TOCOL; Microsoft 365 ed Excel 2024). Legge l'intervallo riga per riga; A.RIGA fa lo stesso in una riga:
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Rep | Q1 | Q2 | Q3 | All values | |
| 2 | Ann | 10 | 12 | 9 | 10 | |
| 3 | Ben | 8 | 11 | 14 | 12 | |
| 4 | 9 | |||||
| 5 | 8 | |||||
| 6 | 11 | |||||
| 7 | 14 |
=A.COL(B2:D3)F2 elenca 10, 12, 9 dalla riga di Ann e poi 8, 11, 14 da quella di Ben. Per leggere invece lungo ogni colonna, imposta il terzo argomento su VERO: =A.COL(B2:D3;;VERO). =A.COL(B2:D3;1) salta le celle vuote.
Esercizio: mesi in colonna invece che in riga
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Month | Jan | Feb | Mar | Apr |
| 2 | Sales | 120 | 95 | 80 | 150 |
| 3 | |||||
| 4 | Months down |
Tocca a te: In A5, gira la tabella in A1:E2 così che i mesi scendano lungo la colonna A e le vendite lungo la colonna B.
MATR.TRASPOSTA o una ricerca lungo la riga
Spesso si traspone una tabella larga solo per usarci CERCA.VERT. Non serve: CERCA.ORIZZ e CERCA.X cercano direttamente in una riga. =CERCA.X("Mar";B1:E1;B2:E2) restituisce le vendite di marzo dalla tabella larga qui sopra senza ribaltare nulla. Trasponi quando deve cambiare la disposizione stessa, per un grafico, un report o un sistema che si aspetta un record per riga.
Domande frequenti
Come traspongo i dati in Excel?
Copia l'intervallo, fai clic con il pulsante destro sulla cella da cui deve partire il risultato e scegli Incolla speciale > Trasponi (Ctrl+Alt+V, poi spunta Trasponi e Invio). Così incolli una copia fissa. Per una copia che si aggiorna con l'origine, scrivi =MATR.TRASPOSTA(A1:D3) nella cella di destinazione.
Perché MATR.TRASPOSTA mostra 0 per le celle vuote?
Una formula che fa riferimento a una cella vuota restituisce 0, e MATR.TRASPOSTA non fa eccezione. Sostituisci prima le celle vuote con testo vuoto: =MATR.TRASPOSTA(SE(A1:E2="";"";A1:E2)).
Come uso MATR.TRASPOSTA in Excel 2019 o precedenti?
Seleziona un intervallo di destinazione con righe e colonne scambiate (4 righe per 3 colonne per un'origine di 3 per 4), scrivi =MATR.TRASPOSTA(A1:D3) e premi Ctrl+Maiusc+Invio (Cmd+Maiusc+Invio su Mac). Excel 2021 e successivi richiedono solo Invio.
Come trasformo più righe in una sola colonna?
Usa A.COL in Microsoft 365 o Excel 2024: =A.COL(B2:D3) legge l'intervallo riga per riga e impila ogni valore in una colonna. =A.COL(B2:D3;1) salta le celle vuote, e A.RIGA fa lo stesso in una sola riga.