Come ordinare automaticamente una colonna per valore in Excel?
Quando si lavora con elenchi o tabelle in Excel, è comune volere che i propri dati appaiano sempre ordinati, specialmente quando vengono aggiunte nuove informazioni. Ad esempio, immagina di gestire una tabella di acquisti come illustrato nello screenshot sottostante, dove i prezzi degli articoli vengono aggiornati regolarmente o vengono aggiunte nuove voci. In queste situazioni, potresti notare che Excel non riordina automaticamente la colonna Prezzo quando inserisci nuovi valori — i dati rimangono nella loro posizione originale fino a quando non li ordini nuovamente manualmente. Questo può facilmente portare a confusione o errori, soprattutto quando devi analizzare rapidamente o presentare informazioni sempre ordinate. Sapere come ordinare automaticamente una colonna in base al suo valore non appena ci sono cambiamenti o aggiunte può quindi risparmiare tempo significativo e mantenere l'accuratezza del tuo flusso di lavoro.
Questa guida fornisce metodi pratici per aiutarti a ordinare automaticamente una colonna specifica per valore mentre aggiorni il tuo foglio di lavoro. Di seguito, troverai sia una soluzione di macro VBA che una soluzione basata su formule dinamiche per le versioni più recenti di Excel. Ogni metodo è adatto a scenari particolari, e vengono forniti dettagli sulla configurazione, suggerimenti applicativi, spiegazioni dei parametri e risoluzione dei problemi per assicurarti di poter implementare l'approccio più appropriato in modo efficace.
Ordinamento automatico della colonna per valore con VBA
Ordinamento automatico della colonna per valore con formula Excel (Array Dinamici)
Ordinamento automatico della colonna per valore con VBA
Questa macro VBA ordina automaticamente tutti i dati in una colonna specifica ogni volta che inserisci un nuovo valore o modifichi i dati esistenti all'interno di quella colonna nel tuo foglio di lavoro. Questo approccio è ideale se stai utilizzando una versione precedente di Excel, o se desideri che i dati all'interno di una tabella vengano ordinati continuamente sul posto senza utilizzare colonne aggiuntive.
Scenari tipici in cui questo metodo è utile:
- Quando vuoi che i dati nella tua tabella o colonna riflettano immediatamente un ordine aggiornato dopo qualsiasi modifica, senza richiedere un ordinamento manuale.
- Se gestisci fogli di lavoro collaborativi in cui diversi utenti aggiornano frequentemente lo stesso intervallo di dati e hanno bisogno che la visualizzazione rimanga sempre ordinata in modo coerente.
Cose da sapere prima di iniziare:
- Le soluzioni VBA apportano modifiche dirette al tuo foglio di lavoro. È una buona idea salvare il file prima di iniziare.
- La macro funzionerà solo se le macro sono abilitate nel tuo ambiente Excel.
- Le macro saranno associate al foglio di lavoro specifico e potrebbero richiedere adattamenti se il layout della tabella cambia.
1. Fai clic destro sul nome del foglio corrente nella barra delle schede del foglio, quindi fai clic su "Visualizza codice" dal menu contestuale.
2. Nella finestra aperta "Microsoft Visual Basic for Applications", incolla il seguente codice della macro VBA nella finestra del codice per il tuo foglio di lavoro di destinazione.
VBA: Ordinamento automatico della colonna in Excel
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("B:B")) Is Nothing Then
Range("B1").Sort Key1:=Range("B2"), _
Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End If
End Sub
Note:
1) Nel codice VBA sopra, "B:B" si riferisce alla Colonna B, "B1" è la cella nella prima riga della Colonna B, e "B2" è la cella subito sotto l'intestazione. Puoi modificare questi riferimenti per adattarli alla colonna che desideri ordinare automaticamente nei tuoi dati.
2) Il parametro Header:=xlYes
nella quinta riga specifica che l'intervallo dei dati include una riga di intestazione, garantendo che l'intestazione non venga ordinata insieme ai valori della colonna. Se l'intervallo dei dati non ha un'intestazione, cambialo in Header:=xlNo
e anche regola Key1:=Range("B2")
a Key1:=Range("B1")
.
3) La macro viene attivata ogni volta che un valore della cella cambia all'interno della colonna specificata.
3. Torna al tuo foglio di lavoro. Ora, ogni volta che aggiungi un nuovo numero nella colonna Prezzo o aggiorni un valore esistente, la colonna verrà immediatamente riordinata in ordine crescente.
Suggerimento: Inserisci sempre nuovi valori immediatamente dopo l'ultima cella utilizzata nella colonna. Se ci sono celle vuote tra i tuoi dati, l'ordinamento non funzionerà come previsto.
Ordinamento automatico della colonna per valore con formula Excel (Array Dinamici)
Per gli utenti di Excel 365 o Excel 2021 e versioni successive, le funzioni di array dinamici come SORT
e SORTBY
offrono un modo efficiente e privo di codice per generare un elenco ordinato e mantenerlo automaticamente aggiornato man mano che i tuoi dati cambiano. Questa soluzione non richiede VBA, è supportata nativamente nelle versioni recenti di Excel ed è adatta a scenari in cui preferisci mantenere i dati originali invariati e invece lavorare con una copia ordinata dei tuoi dati in un intervallo o foglio separato.
Quando dovrei usare questo approccio?
- Se hai bisogno di una versione ordinata in tempo reale dei tuoi dati in una posizione diversa (ad esempio, per report, dashboard o stampa) preservando i dati grezzi originali.
- Se stai usando Excel 365, Excel 2021 o versioni successive che supportano gli array dinamici.
- Questo metodo visualizza i dati ordinati in una nuova area e non riordina i tuoi dati originali. Se hai bisogno di riordinare sul posto, considera la soluzione VBA sopra.
- Gli array dinamici non sono disponibili in Excel 2019 o versioni precedenti.
1. Decidi dove vuoi visualizzare l'elenco ordinato. Ad esempio, se la tua tabella originale è in A1:C10 (con intestazioni nella riga 1) e vuoi mostrare l'elenco ordinato a partire dalla cella E1, seleziona E1.
2. Inserisci la seguente formula nella cella E1:
=SORT(A2:C10,2,1)
Nella formula sopra:
- A2:C10 è il tuo intervallo di dati originale (esclusi gli intestazioni). Regolalo per adattarlo al tuo intervallo di dati.
- 2 significa che stai ordinando per la seconda colonna — ad esempio, se il Prezzo è nella seconda colonna dell'intervallo selezionato.
- 1 specifica l'ordine crescente. Usa -1 se vuoi l'ordine decrescente.
3. Premi Invio. La formula produrrà una copia dinamica e ordinata dei tuoi dati. Se aggiungi, rimuovi o modifichi elementi nell'intervallo originale (ad esempio, nuovi prezzi o prodotti), l'elenco ordinato si aggiorna immediatamente — nessun intervento manuale è necessario.
Note:
- Se vengono inseriti più dati sotto l'area originale, il riferimento nella formula (ad esempio,
A2:C10
) deve essere espanso di conseguenza. - Per intervalli di dati che cambiano continuamente, considera l'uso di tabelle Excel (Inserisci > Tabella), e fai riferimento al nome della tabella nella tua formula SORT per aggiornamenti automatici dell'intervallo.
- Se utilizzi una singola colonna (ad esempio, B2:B10), la formula si semplifica in
=SORT(B2:B10,1,1)
.
Demo: Ordinamento automatico della colonna per valore con VBA in Excel
Ordina facilmente per frequenza delle occorrenze in Excel
La funzione "Ordinamento avanzato" di Kutools per Excel ti consente di ordinare facilmente i dati in base a vari criteri come lunghezza del testo, cognome, valore assoluto, frequenza e altro.
Kutools per Excel - Potenzia Excel con oltre 300 strumenti essenziali. Goditi funzionalità AI gratuite per sempre! Ottienilo ora
I migliori strumenti per la produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un'efficienza mai vista prima. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e farti risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...
Office Tab porta le schede su Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra invece che in nuove finestre.
- Aumenta la produttività del50% e riduce centinaia di clic del mouse ogni giorno!
Tutti gli add-in Kutools. Un solo programma di installazione
La suite Kutools for Office include add-in per Excel, Word, Outlook & PowerPoint più Office Tab Pro, ideale per i team che lavorano su più app di Office.





- Suite tutto-in-uno — Add-in per Excel, Word, Outlook & PowerPoint + Office Tab Pro
- Un solo programma di installazione, una sola licenza — configurazione in pochi minuti (pronto per MSI)
- Funzionano meglio insieme — produttività ottimizzata su tutte le app Office
- Prova completa30 giorni — nessuna registrazione, nessuna carta di credito
- Massimo risparmio — costa meno rispetto all’acquisto singolo degli add-in