Skip to main content

Kutools per Office — Una Suite. Cinque Strumenti. Ottieni di Più.

Come ordinare dati dinamici in Microsoft Excel?

Author Kelly Last modified

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.

sort data dynamically


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:

sample data

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.

enter a formula to sort original products by their storage

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.

drag the formula to other cells

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.

Copy the titles of the original data to another cell,and insert the sequence numbers

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.

apply the VLOOKUP function to return the corresponding data

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:

get a new storage table sorting in descend order by the storage

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.

the new table will update based on the original data changes

Note:

  • Valori duplicati (pari): Se ci sono pari nei numeri di magazzino, un semplice RANGO assegnerà lo stesso rango a più righe e VLOOKUP 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
  • Regola gli intervalli (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).
  • Mantieni l'elenco “Numero desiderato” continuo (1, 2, 3, …) per assicurarti che ogni riga classificata venga recuperata.

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 (o XLOOKUP) combinato con SMALL/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 in xlAscending.
  • 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:

  1. 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.
  2. 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.

a screenshot of kutools for excel ai

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.
Potenzia le tue capacità di Excel con strumenti alimentati dall'IA. Scarica Ora ed esperisci un'efficienza mai vista prima!

I migliori strumenti per la produttività in Office

🤖 Kutools AI Aide: Rivoluziona l’analisi dei dati grazie a: Esecuzione intelligente | Genera codice | Crea formule personalizzate | Analizza dati e crea grafici | Attiva Funzioni avanzate
Funzionalità più usate: Trova, evidenziazione o contrassegna duplicati | Elimina righe vuote | Unisci colonne o celle senza perdere dati | Arrotonda senza formula...
Super RICERCA.VERT: Ricerca VERT per criteri multipli | Ricerca VERT per valori multipli | Ricerca su più fogli | Corrispondenza approssimativa...
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa | Elenco a discesa dipendente | Elenco a discesa multi-selezione...
Gestore colonne: Aggiungi un numero specifico di colonne | Sposta colonne | Cambia stato di visibilità delle colonne nascoste | Confronta intervalli & colonne...
Funzionalità in primo piano: Attenzione della griglia | Visualizzazione di progettazione | Barra delle formule avanzata | Gestore di cartelle di lavoro & fogli | Libreria AutoText | Selettore di data | Unisci dati | Crittografa/Decrittografa celle | Invia Email per elenco | Super Filtri | Filtro speciale (filtra grassetto/corsivo/barrato...)...
Top15 strumenti:12 strumenti Testo (Aggiungi testo, Elimina Caratteri Specifici, ...) |50+ tipi di grafico (Diagramma di Gantt, ...) |40+ formule pratiche (Calcola letà in base alla data di nascita, ...) |19 strumenti di inserimento (Inserisci codice QR, Inserisci Immagine da percorso, ...) |12 strumenti di conversione (Converti in parole, Conversione valuta, ...) |7 strumenti Unione & Dividi (Unione avanzata righe, Dividi celle, ...) | ... e altro ancora
Usa Kutools nella lingua che preferisci – supporta Inglese, Spagnolo, Tedesco, Francese, Cinese e oltre40 altre lingue!

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.

Excel Word Outlook Tabs PowerPoint
  • 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