KutoolsforOffice — Un'unica soluzione, cinque potenti strumenti.Ottenere di più con meno sforzo.

Come ordinare automaticamente una colonna in base ai valori in Excel?

AutoreKelly Data di modifica

Quando si lavora con elenchi o tabelle in Excel, è comune voler mantenere i dati sempre ordinati, soprattutto quando vengono aggiunte nuove informazioni. Immagini, ad esempio, di gestire una tabella acquisti come quella illustrata nello screenshot seguente, in cui i prezzi degli articoli vengono regolarmente aggiornati o nuovi elementi inseriti. In questi casi, potrebbe notare che Excel non riordina automaticamente la colonna Prezzo all’inserimento di nuovi valori: i dati restano nella loro posizione originale finché non si avvia manualmente un nuovo ordinamento. Questo può facilmente causare confusione o errori, specialmente quando è necessario analizzare o presentare rapidamente informazioni sempre aggiornate e ordinate. Sapere come ordinare automaticamente una colonna in base al suo valore non appena si verificano modifiche o aggiunte può quindi farle risparmiare molto tempo e garantire l’accuratezza del suo flusso di lavoro.

Questa guida offre metodi pratici per ordinare automaticamente una colonna specifica in base ai valori non appena aggiorna il foglio di lavoro. Di seguito troverà sia una soluzione basata su macro VBA sia una soluzione con formule dinamiche, disponibile nelle versioni più recenti di Excel. Ogni metodo è pensato per scenari precisi e include dettagli sull’impostazione, suggerimenti applicativi, spiegazioni sui parametri e indicazioni per la risoluzione dei problemi, così da poter implementare con efficacia l’approccio più adatto alle Sue esigenze.

Ordinamento automatico di una colonna per valore con VBA

Ordinamento automatico di una colonna per valore con formula Excel (array dinamici)

Uno screenshot che mostra una tabella di esempio degli acquisti in Excel con una colonna dei prezzi da ordinare


Ordinamento automatico di una colonna per valore con VBA

Questa macro VBA ordina automaticamente tutti i dati in una colonna specifica ogni volta che si inserisce un nuovo valore o si modifica un dato esistente all’interno di quella colonna nel foglio di lavoro. È la soluzione ideale se utilizzi una versione precedente di Excel o desideri mantenere i dati di una tabella sempre ordinati direttamente al loro posto, senza ricorrere a colonne aggiuntive.

Scenari tipici in cui questo metodo è utile:

  • Quando si desidera che i dati nella propria tabella o colonna si aggiornino automaticamente in base all’ordine più recente, senza dover eseguire manualmente l’ordinamento dopo ogni modifica.
  • Se si gestiscono fogli di lavoro collaborativi in cui diversi utenti aggiornano frequentemente lo stesso intervallo di dati e desiderano mantenere la visualizzazione costantemente ordinata.

Cose da sapere prima di iniziare:
- Le soluzioni VBA apportano modifiche dirette al foglio di lavoro. Ti consigliamo di salvare il file prima di procedere.
- 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 alcuni adattamenti qualora la struttura della tabella dovesse cambiare.

1. Fare clic con il pulsante destro del mouse sul nome del foglio di lavoro corrente nella barra delle schede e selezionare «Visualizza codice» dal menu contestuale.
Uno screenshot che mostra il menu contestuale con l'opzione 'Visualizza codice' selezionata nella barra delle schede del foglio

2. Nella finestra «Microsoft Visual Basic, Applications Edition» aperta, incolla il seguente codice macro VBA nella finestra del codice corrispondente al foglio di lavoro desiderato.
Uno screenshot della finestra Microsoft Visual Basic for Applications con il codice VBA incollato per l'ordinamento automatico

VBA: Ordinamento automatico di una 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

Nota:
1) Nel codice VBA riportato 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 indica che il tuo intervallo di dati include una riga di intestazione, assicurando che questa non venga inclusa nell’ordinamento. Se il tuo intervallo di dati non contiene un’intestazione, modifica questo valore in Header:=xlNo e aggiorna anche Key1:=Range("B2") in Key1:=Range("B1").
3) La macro viene attivata ogni volta che il valore di una cella cambia all’interno della colonna specificata.

3. Torna al 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.
Uno screenshot che mostra una tabella Excel con la colonna dei prezzi ordinata automaticamente dopo l'inserimento di un nuovo valore
Suggerimento: Inserisci sempre i nuovi valori subito dopo l’ultima cella utilizzata nella colonna. Se ci sono celle vuote tra i dati, l’ordinamento non funzionerà come previsto.


Ordinamento automatico di una colonna per valore con formula Excel (array dinamici)

Per gli utenti di Excel 365 o Excel 2021 e versioni successive, le funzioni per array dinamici come SORT e SORTBY offrono un modo efficiente e senza codice per generare un elenco ordinato che si aggiorna automaticamente non appena i dati cambiano. Questa soluzione non richiede VBA, è supportata nativamente nelle versioni recenti di Excel ed è ideale quando si desidera lasciare invariati i dati originali e lavorare invece con una copia ordinata in un intervallo o in un foglio separato.

Quando è opportuno utilizzare questo approccio?

  • Se serve una versione ordinata in tempo reale dei propri dati in una posizione diversa — ad esempio per report, dashboard o stampe — senza modificare i dati originali.
  • Quando si utilizzano Excel 365, Excel 2021 o versioni successive che supportano gli array dinamici.
Possibili limitazioni:
  • Questo metodo visualizza i dati ordinati in una nuova area e non riordina i dati originali. Se ha bisogno di un riordino in loco, consideri la soluzione VBA descritta sopra.
  • Gli array dinamici non sono disponibili in Excel 2019 e nelle versioni precedenti.

1. Decida dove visualizzare l’elenco ordinato. Ad esempio, se la tabella originale si trova nell’intervallo A1:C10 (con le intestazioni nella riga 1) e si desidera mostrare l’elenco ordinato a partire dalla cella E1, selezioni la cella E1.

2. Inserisca la seguente formula nella cella E1:

=SORT(A2:C10,2,1)

Nella formula sopra indicata:

  • A2:C10 è il Suo intervallo dati originale (escluse le intestazioni). Modifichi questo intervallo in base al Suo intervallo dati.
  • 2 indica che si sta ordinando in base alla seconda colonna — ad esempio, se il prezzo si trova nella seconda colonna del Seleziona intervallo.
  • 1 specifica l’ordine crescente. Utilizzi -1 se desidera l’ordine decrescente.

3. Premere Invio. La formula genererà una copia dinamica e ordinata dei dati. Se si aggiungono, rimuovono o modificano elementi nell’intervallo originale (ad esempio, nuovi prezzi o prodotti), l’elenco ordinato si aggiornerà automaticamente — senza alcun intervento manuale richiesto.

Note:

  • Se vengono aggiunti nuovi dati al di sotto dell’area originale, il riferimento nella formula (ad esempio,)A2:C10) va esteso di conseguenza.
  • Per dati in continuo cambiamento come Intervallo, consideri l’utilizzo delle tabelle Excel (Inserisci > Tabella) e utilizzi il nome della tabella nella 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 di una colonna per valore con VBA in Excel

 
Kutools per Excel: Oltre 300 strumenti pratici a portata di mano! Goditi funzionalità basate sull’intelligenza artificiale per lavorare in modo più intelligente e veloce!Scarica ora!

Ordina facilmente per frequenza di occorrenze in Excel

Kutools per Excel offre la funzione «Ordinamento avanzato», che consente di ordinare i dati in modo semplice secondo vari criteri, come Lunghezza testo, Cognome, Valore assoluto, frequenza e altri.

Uno screenshot della funzione Kutools for Excel 'Ordinamento avanzato' con le opzioni di ordinamento visibili

Kutools per Excel– Potenzia Excel con oltre 300 strumenti essenziali, rendendo il tuo lavoro più veloce e semplice, e sfrutta le funzionalità basate sull’IA per un’elaborazione dati più intelligente e una maggiore produttività.Scaricalo ora

Migliori Strumenti per la Produttività in Office

🤖KUTOOLS AI Assistente: Rivoluziona Analisi dei dati in base a:Esecuzione Intelligente   |  Genera Codice|  Crea formule personalizzate  |  Analizza Dati e Genera Grafici|  Richiama Funzioni avanzate
Funzionalità Popolari:Trova, Evidenzia o Contrassegna Duplicati   |  Elimina righe vuote   |  Combinare Colonne o Celle senza Perdere Dati   |   Arrotondamento senza usare la formula...
Super RICERCA.VERT:VLookup con Criteri Multipli  |  VLookup con Valori Multipli  |   VLookup tra Fogli Multipli   |   Corrispondenza approssimativa....
Elenco a discesa avanzato:Crea Rapidamente un Elenco a Discesa   |  Elenco a Discesa Dipendente   |  Elenco a Discesa con Selezione Multipla....
Gestione Colonne:Aggiungi un Numero Specifico di Colonne|Sposta Colonne|Attiva/Disattiva lo Stato di Visibilità delle Colonne Nascoste|Confronta Intervalli e Colonne...
Funzionalità in Evidenza:Attenzione della griglia   |  Visualizzazione Design   |Barra delle formule avanzata   | Gestione Cartelle di Lavoro e Fogli   |  Biblioteca di risorse(Testo Automatico)|  Selettore di Date   |  Unisci fogli di lavoro  |  Crittografa/Decrittografa celle   | Invia Email da Lista   |  Super Filtri   |   Filtro speciale(Filtra celle con testo in grassetto/corsivo/barrato...) ...
Principali Set di Strumenti 15:12 Strumentiper il Testo(Aggiungi testo,Elimina Caratteri Specifici, ...)|   50+Tipidi Grafico(Diagramma di Gantt, ...)|   40+ Formule Pratiche(Calcola l'età in base alla data di nascita, ...)|   19 Strumentidi Inserimento(Inserisci Codice QR,Inserisci Immagine dal Percorso, ...)|   12 Strumentidi Conversione(Converti in parole,Conversione del tasso di cambio, ...)|   7 StrumentiUnisci e Dividi(Unione avanzata righe,Dividi celle, ...)|... e molto altro
Usa Kutools nella tua lingua preferita – supporta inglese, spagnolo, tedesco, francese, cinese e 40+ altre!

Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un’efficienza mai vista prima.Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e Risparmia tempo.Clicca qui per ottenere la funzionalità di cui hai più bisogno...


Office Tab Porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede all’interno della stessa finestra, invece che in finestre separate.
  • Aumenta la tua produttività del 50 % e risparmia centinaia di clic del mouse ogni giorno!

Tutti i componenti aggiuntivi di Kutools in un unico programma di installazione.

Kutools for Office è la suite che include componenti aggiuntivi per Excel, Word, Outlook e PowerPoint, oltre a Office Tab Pro: la soluzione ideale per i team che lavorano su diverse app di Office.

ExcelWordOutlookTabsPowerPoint
  • Suite completa— componenti aggiuntivi per Excel, Word, Outlook e PowerPoint + Office Tab Pro
  • Un unico programma di installazione, una sola licenza— configurazione in pochi minuti (pronto per MSI)
  • Funziona meglio insieme— produttività ottimizzata tra le app di Office
  • Prova gratuita di 30 giorni con tutte le funzionalità— nessuna registrazione, nessuna carta di credito
  • Miglior rapporto qualità-prezzo— risparmia rispetto all’acquisto dei singoli componenti aggiuntivi