Come ordinare dati dinamici in Microsoft Excel?
Quando si gestiscono insiemi di dati in continua evoluzione, come i registri delle scorte per un negozio di cancelleria, è essenziale ordinare le informazioni in modo efficiente per una segnalazione accurata e un'analisi rapida. Tuttavia, riordinare manualmente i dati ogni volta che avviene un aggiornamento può essere sia dispendioso in termini di tempo che soggetto a errori. Ne deriva la necessità: come mantenere automaticamente ordinati gli elenchi di Excel, in modo che quando i dati sottostanti cambiano — ad esempio aggiustamenti di quantità o nuove voci — i risultati ordinati riflettano le informazioni più recenti senza intervento manuale?
Questo articolo descrive diversi metodi pratici per ottenere l'ordinamento automatico dei dati dinamici in Excel. Imparerai approcci basati su formule e automazioni VBA, insieme a strumenti moderni integrati di Excel che ti aiutano a mantenere le tabelle ordinate mentre i dati evolvono. Questi metodi sono adatti per scenari come la gestione delle scorte, il monitoraggio delle vendite, la valutazione o qualsiasi attività in cui dati ordinati e in tempo reale sono critici.
➤ Ordina dati dinamici in Excel con formula
➤ Ordina automaticamente i dati utilizzando l'evento Worksheet Change (VBA)
➤ Usa Tabella Excel (“Formatta come tabella”) per un ordinamento più facile
➤ Ordina con funzioni di matrice dinamica SORT o SORTBY (Excel365/2019+)
Ordina dati dinamici in Excel con formula
Questo metodo funziona in tutte le versioni moderne di Excel ed è particolarmente utile quando vuoi mantenere una copia ordinata e aggiornata automaticamente dei tuoi dati accanto alla tua tabella originale. L'approccio si basa sull'assegnazione di ranghi e poi sulla ricerca di valori in base a quei ranghi, in modo che la tabella ordinata rimanga aggiornata automaticamente man mano che cambia l'input.
Ad esempio, supponiamo di gestire le quantità di magazzino per diversi tipi di articoli di cancelleria. Per far sì che la tua tabella rifletta immediatamente qualsiasi cambiamento nelle quantità e mostri i prodotti in ordine decrescente per magazzino, segui questi passaggi:
1. Inserisci una nuova colonna all'inizio del set di dati originale. Nello scenario di esempio, inserisci una colonna intitolata “No.” prima dei dati originali, come illustrato di seguito:
2. Nella cella A2 (la cella superiore sotto “No.”, assumendo che il tuo intervallo di dati sia A2:C6), inserisci la seguente formula per calcolare il rango di ciascun prodotto in base al suo numero di magazzino. Questo permette a Excel di assegnare un ordine univoco a ciascun elemento utilizzando il campo del magazzino:
=RANK(C2, C$2:C$6)
Premi Invio dopo aver digitato la formula. La funzione RANGO confronta il valore del magazzino in C2 rispetto all'intero intervallo C2:C6, assegnando un numero di rango (con 1 come il magazzino più alto). Se hai più di cinque elementi, regola C6 per coprire l'intervallo necessario.
3. Mantieni selezionata la cella A2. Trascina la Maniglia di Riempimento fino alla cella A6 (o fino all'ultima riga dei tuoi dati) per applicare la formula di ranking a tutti gli elementi della tua lista.
4. Per creare la tabella ordinata dinamicamente, prima copia la riga dell'intestazione dei tuoi dati originali e incollala in una nuova posizione (ad esempio, E1:G1). Nella nuova colonna “Numero desiderato” (E2:E6 in questo esempio), inserisci un elenco sequenziale di numeri corrispondenti ai ranghi (1, 2, 3, …). Questa sequenza imposta l'ordine per il recupero.
5. Nella cella F2 (accanto a “Prodotto” nella nuova tabella), inserisci la seguente formula VLOOKUP per recuperare il nome del prodotto corrispondente a ciascun numero di rango, quindi premi Invio:
=VLOOKUP(E2, A$2:C$6, 2, FALSE)
Questa formula cerca il rango dato nella colonna A e restituisce il nome del prodotto associato dalla seconda colonna.
6. Trascina la Maniglia di Riempimento da F2 fino a F6 per compilare tutti i nomi dei prodotti. Per compilare i numeri di magazzino ordinati, seleziona F2:F6, quindi trascina la Maniglia di Riempimento verso destra in G2:G6.
La tua nuova tabella mostrerà i prodotti in ordine decrescente per valore di magazzino, riflettendo sempre i cambiamenti dalla tua tabella originale:
Ad esempio, se il tuo negozio di cancelleria riceve una consegna e aggiorni la quantità di magazzino per “Penna” da 55 a 200 nella tua lista originale, la tabella ordinata riposizionerà istantaneamente la voce Penna per riflettere il suo nuovo rango e quantità — nessun ordinamento manuale richiesto. Questa soluzione automatizza la manutenzione dell'elenco, riducendo errori manuali e mantenendo accurate le tue relazioni chiave.
Note:
- Valori duplicati (pari): Se ci sono pari nei numeri di magazzino, un semplice
RANGO
assegnerà lo stesso rango a più righe eVLOOKUP
restituirà solo la prima corrispondenza. Per un ordine stabile, sostituisci il Passo 2 con questa formula di distinzione dei pari in A2 (poi riempire verso il basso):
=RANK(C2, C$2:C$6) + COUNTIF($C$2:C2, C2) - 1
C$2:C$6
, A$2:C$6
) man mano che la tua lista cresce. Convertire la fonte in una Tabella Excel può semplificare la manutenzione (riferimenti strutturati).Consigli:
- Su Microsoft 365 / Excel 2019+, prendi in considerazione l'utilizzo di
SORT
/SORTBY
per un ordinamento dinamico più diretto. - Se preferisci evitare colonne ausiliarie, un'alternativa avanzata è
INDEX/MATCH
(oXLOOKUP
) combinato conSMALL
/ROW
per generare un elenco ordinato, anche se è meno leggibile e più difficile da mantenere.
Consigli & risoluzione dei problemi: Ricontrolla attentamente gli intervalli delle tue formule per assicurarti che tutti i nuovi elementi o quelli rimossi siano inclusi man mano che cambia la dimensione della tua lista originale. Potrebbe essere necessario regolare i tuoi riferimenti (ad esempio, C$2:C$10 invece di C$2:C$6) se espandi la lista. Per cambiamenti frequenti nella dimensione della lista, prendi in considerazione la conversione dei tuoi dati in una Tabella Excel e fai riferimento ai nomi delle colonne della tabella invece degli intervalli di celle.
Ordina automaticamente i dati utilizzando l'evento Worksheet Change (VBA)
Questa soluzione è utile quando si desidera che la tabella originale rimanga ordinata sul posto — qualsiasi modifica o nuova entrata effettuata dagli utenti attiva istantaneamente un riordino delle righe. Riduce l'ordinamento manuale e funziona bene per elenchi condivisi, registri di inventario e altri record frequentemente aggiornati.
Pro: Mantiene i dati sorgente sempre ordinati; nessuna tabella extra o copia; si applica a qualsiasi numero di colonne.
Contro: Richiede macro; chiunque modifichi il file ha bisogno di Excel abilitato per macro.
Scenario di esempio: Un negozio di cancelleria tiene traccia delle scorte in una tabella. Ogni volta che qualcuno cambia una quantità di magazzino, la riga corrispondente viene automaticamente spostata nell'ordine corretto.
Usare con cautela: Questo metodo influisce direttamente sul layout dei dati — mantieni backup o versioni se necessario.
Per implementare:
1. Fai clic con il pulsante destro del mouse sulla scheda del foglio che desideri ordinare automaticamente e scegli Visualizza Codice.
2. Nella finestra del codice del foglio di lavoro (non un modulo standard), incolla il seguente codice:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Dim SortRange As Range
' Adjust your range as appropriate (example: A1:C6 includes headers)
Set SortRange = Range("A1:C6")
' Sort by Storage in descending order (assuming Storage is in column C)
SortRange.Sort Key1:=SortRange.Columns(3), Order1:=xlDescending, Header:=xlYes
End Sub
3. Chiudi l'editor VBA. Ora, ogni volta che i dati all'interno di A1:C6 vengono modificati, Excel riordina automaticamente l'intero intervallo per la colonna “Magazzino” (colonna C) in ordine decrescente.
Note:
- Aggiorna
Range("A1:C6")
per far corrispondere la tua tabella reale (includere intestazioni). - Questa macro deve vivere nel modulo del foglio di lavoro (ad esempio, Foglio1 (Codice)), non in un modulo standard.
- Salva la cartella di lavoro come
.xlsm
e assicurati che le macro siano abilitate, altrimenti l'ordinamento automatico non verrà eseguito.
Consigli:
- Per ordinare per una colonna diversa, cambia l'argomento
Colonne(3)
con l'indice desiderato. - Hai bisogno di ordine crescente? Cambia
Order1:=xlDescending
inxlAscending
. - Se il tuo intervallo cresce, espandi periodicamente l'indirizzo fisso (ad esempio, fino a
A1:C1000
) o converti l'intervallo in una Tabella Excel e aggiorna la macro all'indirizzo della tabella.
Spiegazione dei parametri e risoluzione dei problemi: La macro ordina l'intervallo fisso che specifichi per la colonna scelta, assumendo una riga di intestazione. Se l'ordinamento non avviene, conferma che le macro sono abilitate e che hai inserito il codice nel modulo corretto del foglio. Se gli utenti modificano al di fuori dell'intervallo specificato, l'ordinamento non verrà attivato — regola l'intervallo per coprire tutte le righe modificabili.
Usa Tabella Excel (“Formatta come tabella”) per un ordinamento più facile
Convertire il tuo intervallo di dati in una Tabella Excel ufficiale utilizzando la funzione Formatta come tabella offre diversi vantaggi per la gestione delle liste e l'ordinamento.
✅ Pro: Aggiorna automaticamente i riferimenti strutturati quando aggiungi o modifichi dati e fornisce menu a discesa per l'ordinamento/filtro per ogni colonna. Puoi ordinare istantaneamente l'intera tabella facendo clic sulla freccia a discesa dell'intestazione della colonna. La tabella si espande automaticamente quando aggiungi nuove righe.
⚠️ Contro: L'ordinamento non è completamente automatico — devi ancora fare clic per riordinare dopo le modifiche, a meno che non aggiungi una macro VBA per attivare automaticamente l'ordinamento.
Scenario tipico: Nei fogli di lavoro collaborativi o nei grandi set di dati in cui gli utenti hanno bisogno di organizzazione visiva e inserimento rapido di righe, le Tabelle Excel rendono l'ordinamento di routine più facile e meno soggetto a errori.
Come usare:
- Seleziona l'intervallo dei tuoi dati e premi Ctrl + T per convertirlo in una Tabella Excel. Assicurati che l'opzione La mia tabella ha intestazioni sia selezionata.
- Fai clic sulla freccia a discesa nell'intestazione della colonna che desideri ordinare (ad esempio, Magazzino) e scegli Ordina dal più grande al più piccolo o Ordina dal più piccolo al più grande.
Se vuoi che l'ordinamento avvenga automaticamente ogni volta che la tabella viene modificata, collega una macro VBA (come descritto in precedenza) al foglio contenente la tabella. Questo combina la struttura facile delle Tabelle Excel con l'automazione VBA.
💡 Consigli: Le Tabelle Excel supportano riferimenti strutturati nelle formule, rendendole più facili da leggere e mantenere man mano che i dati crescono. Per cancellare un ordinamento, usa il menu a discesa della colonna e seleziona Cancella ordinamento. Se utilizzi VBA, assicurati che la macro faccia riferimento al nome corretto della tabella (ad esempio, ListObjects("Tabella1")
).
Ordina con funzioni di matrice dinamica SORT o SORTBY (Excel 365/2019+)
Le versioni moderne di Excel (Excel 365, Excel 2019 e successive) introducono funzioni di matrice dinamica che possono generare automaticamente una versione ordinata dei tuoi dati in tempo reale — nessuna colonna ausiliaria o VBA richiesta.
✅ Pro: Vero ordinamento automatico in tempo reale. Le formule “versano” i risultati nelle celle adiacenti man mano che l'elenco originale cresce o si riduce. Richiede pochissimi passaggi per configurarlo.
⚠️ Contro: Disponibile solo nelle versioni più recenti di Excel. L'output è una copia separata — il tuo intervallo originale non viene riordinato.
Scenario di esempio: Vuoi una copia ordinata e aggiornata in tempo reale del tuo elenco di inventario per la visualizzazione nel dashboard o per scopi di reporting, preservando l'ordine di input per la modifica o l'immissione dei dati.
Come usare:
Supponiamo che la tua tabella dati originale sia nell'intervallo A2:C6
comprese le intestazioni in A1:C1
. Per generare una tabella ordinata dinamicamente (per Magazzino, in ordine decrescente), inserisci questa formula in qualsiasi cella vuota, come E2
:
=SORT(A2:C6, 3, -1)
Questo produce una nuova versione automaticamente ordinata della tua tabella originale, ordinata per la terza colonna (Magazzino) in ordine decrescente. Usa -1
per decrescente e 1
per crescente.
Per un ordinamento più raffinato, come chiavi secondarie o criteri personalizzati, usa SORTBY
:
=SORTBY(A2:C6, C2:C6, -1, B2:B6, 1)
Questo ordina prima per Magazzino (decrescente), poi per Prodotto (crescente).
Dopo aver digitato la formula, premi Invio. Excel “verserà” i dati ordinati nelle righe e colonne adiacenti, ridimensionandosi automaticamente man mano che cambiano i tuoi dati sorgente.
💡 Consigli:
- Se le celle adiacenti non sono vuote, otterrai un errore
#SPILL!
— assicurati di avere abbastanza spazio vuoto per l'output. - Per i dati su un altro foglio, includi il nome del foglio, ad esempio,
=SORT(Foglio1!A2:C100, 3, -1)
. - Se la tua fonte potrebbe crescere, fai riferimento a un intervallo più ampio o definiscila come Tabella Excel per il riferimento strutturato.
Con questi metodi di array dinamici, l'ordinamento e l'aggiornamento di grandi elenchi per report o dashboard diventa semplice — l'output è sempre aggiornato senza passaggi aggiuntivi.

Sblocca la Magia di Excel con Kutools AI
- Esecuzione Intelligente: Esegui operazioni sulle celle, analizza i dati e crea grafici — tutto guidato da semplici comandi.
- Formule Personalizzate: Genera formule su misura per ottimizzare i tuoi flussi di lavoro.
- Codifica VBA: Scrivi e implementa codice VBA senza sforzo.
- Interpretazione delle Formule: Comprendi facilmente formule complesse.
- Traduzione del Testo: Superare le barriere linguistiche all'interno dei tuoi fogli di calcolo.
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