Categorie
Automazione Excel

Come invertire righe e colonne in Excel

La trasposizione di una matrice in Excel consiste nel riorganizzare le colonne e le righe di una tabella in modo da riprodurre nella stessa o in altra tabella gli stessi dati in una matrice diversa.

Per esempio, supponiamo che abbiamo una matrice di dati 3×3 come segue:

A B C
1 4 7
2 5 8
3 6 9

Per trasporla in Excel, dobbiamo scrivere i dati in una tabella 3×3 come segue:

A B C
1 2 3
4 5 6
7 8 9

La trasposizione di una matrice consiste nello scrivere i valori al di fuori delle righe e delle colonne originali della matrice. Quando viene trasposta in Excel, viene utilizzata una funzionalità di copia e incolla speciale che riposiziona automaticamente i valori nella giusta posizione. Ciò consente di vedere i dati in una disposizione diversa, che può essere più facile da leggere e comprendere.

La trasposizione di una matrice in Excel può essere utile per l’analisi e la presentazione dei dati, poiché consente di visualizzare i dati in una disposizione diversa. Ciò può aiutare a evidenziare relazioni che potrebbero altrimenti passare inosservate. Inoltre, la trasposizione di una matrice offre una soluzione veloce e facile quando si desidera confrontare i dati in diverse disposizioni.

La trasposizione di una matrice in un foglio Excel può essere utile per visualizzare e analizzare i dati in una forma più intuitiva. Inoltre, può essere utile per confrontare i dati di diverse matrici in un’unica tabella. La trasposizione può anche rendere più semplice la creazione di grafici a partire da una matrice.

Possiamo trasporre sovrascrivendo la matrice originale oppure trasporre la matrice in un’ altro insieme di celle lasciando la matrice di partenza originale intatta

Nell’ esempio che proponiamo vediamo entrambi i casi scrivendo la macro che esegue questa operazione su due matrici di partenza diverse come riportato in figura

Ecco il codice della macro ‘TrasposizioneMatrice’

Sub TrasponiMatrice()

Dim matrice() As Variant
Dim DataSheet As Worksheet

Set DataSheet = Worksheets(“Foglio6”)

DataSheet.Range(“E1:I3”).Value = WorksheetFunction.Transpose(Range(“A1:C5”))

DataSheet.Range(“A9:C11”).Value = WorksheetFunction.Transpose(Range(“A9:C11”))

MsgBox “Matrice trasposta con successo!”
End Sub

Questo codice VBA utilizza una funzione incorporata di Excel, chiamata WorksheetFunction.Transpose (), per trasporre due matrici.
In particolare, la prima matrice A1:C5 viene trasposta nello stesso foglio di lavoro nell’intervallo di celle E1:I3 e la seconda matrice viene trasposta nello stesso foglio di lavoro e nello stesso intervallo di celle A9:C11

Una volta completato il processo di trasposizione, viene visualizzato un messaggio di avviso che indica che la trasposizione della matrice è stata eseguita con successo.

Eseguendo la macro sul foglio selezionato si ottiene la trasposizione delle due matrici come in figura