Sommario
L'esercitazione mostra alcuni modi rapidi per capovolgere le tabelle di Excel in verticale e in orizzontale, conservando la formattazione e le formule originali.
Invertire i dati in Excel sembra un'operazione banale da fare con un solo clic, ma sorprendentemente non esiste un'opzione integrata di questo tipo. Nelle situazioni in cui è necessario invertire l'ordine dei dati in una colonna disposta in ordine alfabetico o dal più piccolo al più grande, si può ovviamente utilizzare la funzione di ordinamento di Excel. Ma come si fa a invertire una colonna con dati non ordinati? Oppure, come si fa a invertire l'ordine dei dati in una tabella orizzontale in righe?Riceverete tutte le risposte tra poco.
Capovolgere i dati in Excel in senso verticale
Con un po' di creatività, è possibile trovare una serie di modi diversi per capovolgere una colonna in Excel: utilizzando funzioni integrate, formule, VBA o strumenti speciali. Di seguito vengono illustrati i passaggi dettagliati di ciascun metodo.
Come capovolgere una colonna in Excel
Per invertire l'ordine dei dati in una colonna in senso verticale, procedere come segue:
- Aggiungere una colonna di aiuto accanto alla colonna che si desidera capovolgere e popolarla con una sequenza di numeri, a partire da 1. Questo suggerimento mostra come farlo automaticamente.
- Ordinare la colonna di numeri in ordine decrescente. A tal fine, selezionare una cella qualsiasi della colonna di aiuto, andare alla voce Scheda Dati > Ordinamento e filtro e fare clic sul pulsante Ordina dal più grande al più piccolo (ZA).
Come mostrato nella schermata seguente, questo ordina non solo i numeri della colonna B, ma anche gli elementi originali della colonna A, invertendo l'ordine delle righe:
Ora si può tranquillamente eliminare la colonna helper, poiché non è più necessaria.
Suggerimento: come riempire rapidamente una colonna con i numeri di serie
Il modo più rapido per riempire una colonna con una sequenza di numeri è utilizzare la funzione di riempimento automatico di Excel:
- Digitare 1 nella prima cella e 2 nella seconda (celle B2 e B3 nella schermata sottostante).
- Selezionate le celle in cui avete appena inserito i numeri e fate doppio clic sull'angolo inferiore destro della selezione.
Excel riempirà automaticamente la colonna con i numeri di serie fino all'ultima cella con i dati della colonna adiacente.
Come capovolgere una tabella in Excel
Il metodo precedente funziona anche per invertire l'ordine dei dati in più colonne:
A volte (più spesso quando si seleziona l'intera colonna di numeri prima dell'ordinamento) Excel potrebbe visualizzare il messaggio Avviso di smistamento In questo caso, controllare la finestra di dialogo Espandere la selezione e quindi fare clic sull'opzione Ordinamento pulsante.
Suggerimento: se desiderate cambiare le righe e le colonne , utilizzare la funzione TRANSPOSE di Excel o altri modi per trasporre i dati in Excel.
Come capovolgere le colonne in Excel utilizzando una formula
Un altro modo per capovolgere una colonna è utilizzare questa formula generica:
INDICE( gamma , VOCI( gamma ))Per il nostro set di dati campione, la formula è la seguente:
=INDICE($A$2:$A$7,RIGHE(A2:$A$7))
... e inverte la colonna A in modo impeccabile:
Come funziona questa formula
Il cuore della formula è la funzione INDEX(array, row_num, [column_num]), che restituisce il valore di un elemento in array in base ai numeri di riga e/o colonna specificati.
Nell'array si inserisce l'intero elenco che si desidera capovolgere (A2:A7 in questo esempio).
Il numero di righe viene calcolato dalla funzione ROWS. Nella sua forma più semplice, ROWS(array) restituisce il numero di righe in array Nella nostra formula, è l'uso intelligente dei riferimenti relativi e assoluti a fare il trucco della "colonna capovolta":
- Per la prima cella (B2), ROWS(A2:$A$7) restituisce 6, quindi INDEX ottiene l'ultimo elemento dell'elenco (il sesto).
- Nella seconda cella (B3), il riferimento relativo A2 cambia in A3, di conseguenza ROWS(A3:$A$7) restituisce 5, costringendo INDEX a recuperare il penultimo elemento.
In altre parole, ROWS crea una sorta di contatore decrescente per INDEX, in modo che si muova dall'ultimo elemento verso il primo.
Suggerimento: come sostituire le formule con i valori
Ora che avete due colonne di dati, potreste voler sostituire le formule con valori calcolati e quindi eliminare una colonna in più. A questo scopo, copiate le celle della formula, selezionate le celle in cui volete incollare i valori e premete Maiusc+F10 e poi V , che è il modo più veloce per applicare l'opzione Incolla speciale> valori di Excel.
Per ulteriori informazioni, vedere Come sostituire le formule con i valori in Excel.
Come capovolgere le colonne in Excel con VBA
Se si ha un po' di esperienza con VBA, è possibile utilizzare la seguente macro per invertire l'ordine dei dati in verticale in una o più colonne:
Dim Rng As Range Dim WorkRng As Range Dim Arr As Variant Dim i As Integer , j As Integer , k As Integer On Error Resume Next xTitleId = "Flip columns vertically" Set WorkRng = Application.Selection Set WorkRng = Application.InputBox( "Range" , xTitleId, WorkRng.Address, Type :=8) Arr = WorkRng.Formula Application.ScreenUpdating = False Application.Calculation = xlCalculationManual For j = 1 ToUBound (Arr, 2) k = UBound (Arr, 1) For i = 1 To UBound (Arr, 1) / 2 xTemp = Arr(i, j) Arr(i, j) = Arr(k, j) Arr(k, j) = xTemp k = k - 1 Next Next WorkRng.Formula = Arr Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic End SubCome utilizzare la macro Capovolgi colonne
- Aprite la finestra di Microsoft Visual Basic for Applications ( Alt + F11 ).
- Cliccare Inserire > Modulo e incollare il codice sopra riportato nella finestra Codice.
- Eseguire la macro ( F5 ).
- Il Capovolgere le colonne viene visualizzata una finestra di dialogo che richiede di selezionare un intervallo da capovolgere:
Si selezionano con il mouse una o più colonne, escluse le intestazioni di colonna, si fa clic su OK e ottenere il risultato in un attimo.
Per salvare la macro, assicurarsi di salvare il file come file Cartella di lavoro con macro di Excel .
Come capovolgere i dati in Excel preservando la formattazione e le formule
Con i metodi sopra descritti, è possibile invertire facilmente l'ordine dei dati in una colonna o in una tabella. Ma cosa succede se non si desidera invertire solo i valori, ma anche i formati delle celle? Inoltre, cosa succede se alcuni dati della tabella sono basati su formule e si vuole evitare che le formule vengano interrotte quando si invertono le colonne? In questo caso, è possibile utilizzare l'opzione Capovolgere inclusa nella nostra Ultimate Suite per Excel.
Supponiamo di avere una tabella ben formattata come quella mostrata di seguito, in cui alcune colonne contengono valori e altre colonne hanno formule:
Si tratta di capovolgere le colonne della tabella mantenendo sia la formattazione (ombreggiatura grigia per le righe con quantità zero) sia le formule calcolate correttamente. Questa operazione può essere eseguita in due rapidi passaggi:
- Con una cella qualsiasi della tabella selezionata, andare alla voce Dati Ablebits scheda> Trasformare e fare clic su Capovolgere > Capovolgimento verticale .
- Nel Capovolgimento verticale configurare le seguenti opzioni:
- Nel Selezionare la gamma controllare il riferimento all'intervallo e assicurarsi che la riga di intestazione non sia inclusa.
- Selezionare la voce Regolare i riferimenti di cella e controllare l'opzione Preservare la formattazione scatola.
- Opzionalmente, scegliere di Creare una copia di backup (selezionato per impostazione predefinita).
- Fare clic sul pulsante Capovolgere pulsante.
L'ordine dei dati nella tabella viene invertito, la formattazione viene mantenuta e i riferimenti alle celle nelle formule vengono opportunamente adattati:
Capovolgere orizzontalmente i dati in Excel
Finora in questa esercitazione abbiamo capovolto le colonne. Ora vediamo come invertire l'ordine dei dati in orizzontale, cioè come capovolgere una tabella da sinistra a destra.
Come capovolgere le righe in Excel
Poiché in Excel non esiste un'opzione per ordinare le righe, è necessario prima cambiare le righe in colonne, poi ordinare le colonne e infine trasporre la tabella. Ecco i passaggi dettagliati:
- Utilizzate la funzione Incolla speciale> Trasponi per convertire le colonne in righe. Come risultato, la tabella subirà questa trasformazione:
- Aggiungete una colonna ausiliaria con i numeri, come nel primo esempio, e poi ordinate in base alla colonna ausiliaria. Il risultato intermedio sarà simile a questo:
- Utilizzo Incolla speciale> Trasponi un'altra volta per far ruotare il tavolo:
Nota: se i dati di origine contengono formule, è possibile che queste vengano interrotte durante l'operazione di trasposizione. In questo caso, è necessario ripristinare le formule manualmente. In alternativa, è possibile utilizzare lo strumento Flip incluso nella nostra Ultimate Suite, che regolerà automaticamente tutti i riferimenti.
Invertire l'ordine dei dati in orizzontale con VBA
Ecco una semplice macro che permette di capovolgere rapidamente in orizzontale i dati contenuti nella tabella di Excel:
Sub FlipDataHorizontally() Dim Rng As Range Dim WorkRng As Range Dim Arr As Variant Dim i As Integer , j As Integer , k As Integer On Error Resume Next xTitleId = "Flip Data Horizontally" Set WorkRng = Application.Selection Set WorkRng = Application.InputBox( "Range" , xTitleId, WorkRng.Address, Type :=8) Arr = WorkRng.Formula Application.ScreenUpdating = False Application.Calculation =xlCalculationManual Per i = 1 a UBound (Arr, 1) k = UBound (Arr, 2) Per j = 1 a UBound (Arr, 2) / 2 xTemp = Arr(i, j) Arr(i, j) = Arr(i, k) Arr(i, k) = xTemp k = k - 1 Next Next WorkRng.Formula = Arr Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic End SubPer aggiungere la macro alla cartella di lavoro di Excel, attenersi alla seguente procedura. Non appena si esegue la macro, viene visualizzata la seguente finestra di dialogo che chiede di selezionare un intervallo:
Si seleziona l'intera tabella, compresa la riga di intestazione, e si fa clic su OK In un attimo, l'ordine dei dati nelle righe viene invertito:
Capovolgere i dati nelle righe con Ultimate Suite for Excel
Analogamente all'inversione delle colonne, è possibile utilizzare la nostra Ultimate Suite per Excel per invertire l'ordine dei dati nelle righe. È sufficiente selezionare un intervallo di celle che si desidera invertire, andare alla sezione Dati Ablebits scheda> Trasformare e fare clic su Capovolgere > Capovolgimento orizzontale .
Nel Capovolgimento orizzontale scegliere le opzioni appropriate per il set di dati. In questo esempio, stiamo lavorando con i valori, quindi scegliamo Incolla solo i valori e Conservare la formattazione :
Fare clic sul pulsante Capovolgere e il tavolo verrà invertito da sinistra a destra in un batter d'occhio.
Grazie per la lettura e spero di vedervi sul nostro blog la prossima settimana!