Capovolgi i dati in Excel - Ordine inverso dei dati in colonna/riga

A volte, potrebbe essere necessario capovolgere i dati in Excel, ovvero invertire l'ordine dei dati capovolti in un set di dati verticale e da sinistra a destra in un set di dati orizzontale.

Ora, se stai pensando che deve esserci una funzionalità integrata per farlo in Excel, temo che rimarrai deluso.

Sebbene ci siano diversi modi per capovolgere i dati in Excel, non esiste una funzionalità integrata. Ma puoi farlo facilmente usando un semplice trucco di ordinamento, formule o VBA.

In questo tutorial, ti mostrerò come capovolgere i dati in righe, colonne e tabelle in Excel.

Quindi iniziamo!

Capovolgi i dati utilizzando la colonna SORT e Helper

Uno dei modi più semplici per invertire l'ordine dei dati in Excel sarebbe utilizzare una colonna di supporto e quindi utilizzare quella colonna di supporto per ordinare i dati.

Capovolgi i dati verticalmente (ordine inverso capovolto)

Supponiamo di avere un set di dati di nomi in una colonna come mostrato di seguito e di voler capovolgere questi dati:

Di seguito sono riportati i passaggi per capovolgere i dati verticalmente:

  1. Nella colonna adiacente, inserisci "Aiuto" come intestazione della colonna
  2. Nella colonna helper, inserisci una serie di numeri (1,2,3 e così via). Puoi usare i metodi mostrati qui per farlo rapidamente
  3. Seleziona l'intero set di dati inclusa la colonna helper
  4. Fare clic sulla scheda Dati
  5. Fare clic sull'icona Ordina
  6. Nella finestra di dialogo Ordina, seleziona "Aiuto" nel menu a discesa "Ordina per"
  7. Nel menu a discesa Ordine, seleziona "dal più grande al più piccolo"
  8. Fare clic su OK

I passaggi precedenti ordinerebbero i dati in base ai valori della colonna helper, il che porterebbe anche a invertire l'ordine dei nomi nei dati.

Una volta fatto, sentiti libero di eliminare la colonna helper.

In questo esempio, ti ho mostrato come capovolgere i dati quando hai solo una colonna, ma puoi anche usare la stessa tecnica se hai un'intera tabella. Assicurati di selezionare l'intera tabella e quindi di utilizzare la colonna helper per ordinare i dati in ordine decrescente.

Capovolgi i dati orizzontalmente

Puoi anche seguire la stessa metodologia per capovolgere i dati orizzontalmente in Excel.

Excel ha un'opzione per ordinare i dati orizzontalmente utilizzando la finestra di dialogo Ordina (la funzione "Ordina da sinistra a destra").

Supponiamo di avere una tabella come mostrato di seguito e di voler capovolgere questi dati orizzontalmente.

Di seguito sono riportati i passaggi per eseguire questa operazione:

  1. Nella riga sottostante, inserisci "Aiuto" come intestazione della riga
  2. Nella riga dell'helper, inserisci una serie di numeri (1,2,3 e così via).
  3. Seleziona l'intero set di dati inclusa la riga di supporto
  4. Fare clic sulla scheda Dati
  5. Fare clic sull'icona Ordina
  6. Nella finestra di dialogo Ordina, fare clic sul pulsante Opzioni.
  7. Nella finestra di dialogo che si apre, fai clic su "Ordina da sinistra a destra"
  8. Fare clic su OK
  9. Nel menu a discesa Ordina per, seleziona Riga 3 (o qualsiasi riga abbia la colonna di supporto)
  10. Nel menu a discesa Ordine, seleziona "dal più grande al più piccolo"
  11. Fare clic su OK

I passaggi precedenti capovolgerebbero l'intera tabella orizzontalmente.

Una volta fatto, puoi rimuovere la riga di supporto.

Capovolgi i dati usando le formule

Microsoft 365 ha alcune nuove formule che rendono davvero facile invertire l'ordine di una colonna o di una tabella in Excel.

In questa sezione, ti mostrerò come farlo usando la formula SORTBY (se stai usando Microsoft 365) o la formula INDEX (se non stai usando Microsoft 365)

Utilizzo della funzione ORDINA (disponibile in Microsoft 365)

Supponiamo di avere una tabella come mostrato di seguito e di voler capovolgere i dati in questa tabella:

Per fare ciò, per prima cosa, copia le intestazioni e posizionale dove vorresti la tabella capovolta

Ora, usa la seguente formula sotto la cella nell'intestazione più a sinistra:

=ORDINA($A$2:$B$12, RIGA(A2:A12),-1)

La formula precedente ordina i dati e utilizza il risultato della funzione RIGA come base per ordinarli.

La funzione RIGA in questo caso restituirebbe una matrice di numeri che rappresenta i numeri di riga compresi nell'intervallo specificato (che in questo esempio sarebbe una serie di numeri come 2, 3, 4 e così via).

E poiché il terzo argomento di questa formula è -1, forzerebbe la formula a ordinare i dati in ordine decrescente.

Il record che ha il numero di riga più alto andrebbe in cima e quello con il numero di regola più basso andrebbe in fondo, sostanzialmente invertendo l'ordine dei dati.

Una volta fatto, puoi convertire la formula in valori per ottenere una tabella statica.

Utilizzo della funzione INDICE

Se non hai accesso alla funzione SORTBY, non preoccuparti: puoi utilizzare la fantastica funzione INDICE.

Supponiamo di avere un set di dati di nomi come mostrato di seguito e di voler capovolgere questi dati.

Di seguito è la formula per farlo:

=INDICE($A$2:$A$12, RIGHE(A2:$A$12))

Come funziona questa formula?

La formula precedente utilizza la funzione INDICE che restituirebbe il valore dalla cella in base al numero specificato nel secondo argomento.

La vera magia avviene nel secondo argomento in cui ho usato la funzione ROWS.

Poiché ho bloccato la seconda parte del riferimento nella funzione ROWS, nella prima cella, restituirebbe il numero di righe tra A2 e A12, che sarebbe 11.

Ma quando scende nelle righe, il primo riferimento cambierà in A3, quindi A4 e così via, mentre il secondo riferimento rimarrebbe così com'è perché l'ho bloccato e reso assoluto.

Man mano che scendiamo nelle righe, il risultato della funzione RIGHE diminuirà di 1, da 11 a 10 a 9 e così via.

E poiché la funzione INDEX ci restituisce il valore in base al numero nel secondo argomento, questo alla fine ci darebbe i dati nell'ordine inverso.

Puoi utilizzare la stessa formula anche se hai più colonne nel set di dati. tuttavia, sarà necessario specificare un secondo argomento che specifichi il numero di colonna da cui devono essere recuperati i dati.

Supponiamo di avere un set di dati come mostrato di seguito e di voler invertire l'ordine dell'intera tabella:

Di seguito è la formula che lo farà per te:

=INDICE($A$2:$B$12,RIGHE(A2:$A$12),COLONNE($A$2:A2))

Questa è una formula simile in cui ho anche aggiunto un terzo argomento che specifica il numero di colonna da cui deve essere recuperato il valore.

Per rendere dinamica questa formula, ho usato la funzione COLONNE che continuerebbe a cambiare il valore della colonna da 1 a 2 a 3 mentre lo copi a destra.

Una volta fatto, puoi convertire le formule in valori per assicurarti di avere un risultato statico.

Nota: quando si utilizza una formula per invertire l'ordine di un set di dati in Excel, non manterrebbe la formattazione originale. Se hai bisogno della formattazione originale anche sui dati ordinati, puoi applicarla manualmente o copiare e incollare la formattazione dal set di dati originale al nuovo set di dati ordinato

Capovolgi i dati usando VBA

Se capovolgere i dati in Excel è qualcosa che devi fare abbastanza spesso, puoi anche provare il metodo VBA.

Con un codice macro VBA, puoi copiarlo e incollarlo una volta all'interno della cartella di lavoro nell'editor VBA, quindi riutilizzarlo più e più volte nella stessa cartella di lavoro.

Puoi anche salvare il codice nella cartella di lavoro macro personale o come componente aggiuntivo di Excel ed essere in grado di utilizzarlo in qualsiasi cartella di lavoro sul tuo sistema.

Di seguito è riportato il codice VBA che capovolgerebbe verticalmente i dati selezionati nel foglio di lavoro.

Sub FlipVerically() 'Codice per Sumit Bansal da TrumpExcel.com Dim TopRow As Variant Dim LastRow As Variant Dim StartNum As Integer Dim EndNum As Integer Application.ScreenUpdating = False StartNum = 1 EndNum = Selection.Rows.Count Do While StartNum < EndNum TopRow = Selection.Rows(StartNum) LastRow = Selection.Rows(EndNum) Selection.Rows(EndNum) = TopRow Selection.Rows(StartNum) = LastRow StartNum = StartNum + 1 EndNum = EndNum - 1 Loop Application.ScreenUpdating = True End Sub

Per utilizzare questo codice, devi prima effettuare la selezione del set di dati che desideri invertire (escluse le intestazioni), quindi eseguire questo codice.

Come funziona questo codice?

Il codice precedente conta prima il numero totale di righe nel set di dati e lo assegna alla variabile EndNum.

Quindi utilizza il ciclo Do While in cui avviene l'ordinamento dei dati.

Il modo in cui ordina questi dati è prendendo la prima e l'ultima riga e scambiandole. Quindi si sposta alla seconda riga nella penultima riga e quindi li scambia. Quindi passa alla terza riga della terzultima riga e così via.

Il ciclo termina quando tutto l'ordinamento è terminato.

Usa anche la proprietà Application.ScreenUpdating e la imposta su FALSE durante l'esecuzione del codice, quindi la riporta su TRUE al termine dell'esecuzione del codice.

Ciò garantisce che tu non veda i cambiamenti che avvengono in tempo reale sullo schermo, accelera anche il processo.

Come utilizzare il Codice?

Segui i passaggi seguenti per copiare e incollare questo codice nell'editor VB:

  1. Apri il file Excel in cui desideri aggiungere il codice VBA
  2. Tieni premuto il tasto ALT e premi il tasto F-11 (puoi anche andare alla scheda Sviluppatore e fare clic sull'icona di Visual Basic)
  3. Nell'editor di Visual Basic che si apre, ci sarebbe un Project Explorer nella parte sinistra dell'editor VBA. Se non lo vedi, fai clic sulla scheda "Visualizza" e quindi fai clic su "Esplora progetto"
  4. Fare clic con il pulsante destro del mouse su uno degli oggetti della cartella di lavoro in cui si desidera aggiungere il codice
  5. Vai all'opzione Inserisci e quindi fai clic su Modulo. Questo aggiungerà un nuovo modulo alla cartella di lavoro
  6. Fare doppio clic sull'icona del modulo in Esplora progetti. Questo aprirà la finestra del codice per quel modulo
  7. Copia e incolla il codice VBA sopra nella finestra del codice

Per eseguire il codice della macro VBA, seleziona prima il set di dati che desideri capovolgere (escluse le intestazioni).

Con i dati selezionati, vai al VB Editor e fai clic sul pulsante verde di riproduzione nella barra degli strumenti, oppure seleziona una riga qualsiasi nel codice e quindi premi il tasto F5

Quindi questi sono alcuni dei metodi che puoi usare per capovolgere i dati in Excel (cioè, invertire l'ordine del set di dati).

Tutti i metodi che ho trattato in questo tutorial (formule, funzione SORT e VBA), possono essere utilizzati per capovolgere i dati verticalmente e orizzontalmente (dovrai regolare la formula e il codice VBA di conseguenza per il ribaltamento orizzontale dei dati).

Spero che tu abbia trovato utile questo tutorial.

wave wave wave wave wave