Come creare un elenco dinamico dei primi 10 (o N) valori in Excel?
In molti progetti e processi aziendali è spesso necessario classificare persone, organizzazioni, prodotti o altre entità in base alle loro prestazioni o a valori numerici. Un “elenco dei migliori” permette di mettere in evidenza le voci con i risultati più alti, come i migliori studenti in base al voto, i top seller o i reparti con il fatturato più elevato. Immagina, ad esempio, di avere una tabella con i voti degli studenti e di voler estrarre dinamicamente i primi 10 per premiazioni, analisi o monitoraggio dei risultati scolastici, come mostrato nello screenshot seguente. Creare un elenco dinamico dei primi 10 (o N) in Excel ti consente di visualizzare automaticamente risultati sempre aggiornati non appena i dati cambiano, risparmiando tempo e riducendo gli errori legati alla classificazione manuale. Questa guida presenta diverse soluzioni pratiche – tra cui formule, Tabelle pivot e macro VBA – per aiutarti a costruire in modo efficiente un elenco dinamico dei primi 10 o N, adattandosi a una vasta gamma di esigenze di analisi dei dati.

Crea un elenco dinamico dei primi 10 in Excel
- Formule per creare un elenco dinamico dei primi 10
- Formule per creare un elenco dinamico dei primi 10 con criteri
Crea un elenco dinamico dei primi 10 in Office 365
- Formula per creare un elenco dinamico dei primi 10
- Formula per creare un elenco dinamico dei primi 10 con criteri
Creare un elenco dinamico dei primi 10 in Excel
In Excel 2019 e versioni precedenti, per creare un elenco dinamico dei primi 10 (o N) elementi è necessario combinare formule in grado di estrarre contemporaneamente sia i valori più alti che i relativi nomi o ID associati. Questa soluzione, ampiamente utilizzata, è ideale quando si desidera che l’elenco si aggiorni automaticamente al variare dei dati sottostanti. Le operazioni seguenti illustrano come realizzarlo mediante le formule classiche di Excel: flessibili, prive di requisiti aggiuntivi, ma leggermente più complesse da configurare rispetto alle moderne funzioni per matrici dinamiche.
Formule per creare un elenco dinamico dei primi 10
1. Per iniziare, estrai i primi 10 valori dall’intervallo. Inserisci la seguente formula in una cella vuota (ad esempio, G2). Dopo averla inserita, trascina il quadratino di riempimento verso il basso per generare un elenco dinamico dei primi 10 valori. Guarda lo screenshot:

2. Per visualizzare i nomi (o gli ID) corrispondenti ai valori più alti appena estratti, inserisci la seguente formula nella cella F2. Poiché si tratta di una formula matriciale, dopo averla digitata premi Ctrl + Maiusc + Invio per confermare. La formula identifica i nomi associati ai valori più elevati:
-A2:A20è l’intervallo da cui estrarre i nomi;
-B2:B20è l’intervallo dei punteggi o dei valori;
-G2è il valore massimo ottenuto dalla formula precedente;
-B1è l’intestazione dell’elenco dei valori ed è utilizzata per il calcolo dell’offset nella funzione RIGA.
Questa formula collega dinamicamente i valori più alti ai rispettivi nomi. Se l’intervallo dei valori contiene duplicati, CONTA.SE garantisce che ogni nome corrispondente compaia una sola volta insieme al proprio punteggio.

3. Dopo aver estratto il primo risultato, seleziona la formula nella cella F2 e trascina il quadratino di riempimento verso il basso per copiarla nelle righe necessarie. In questo modo, il risultato si espanderà automaticamente mostrando in tempo reale i nomi di tutte le voci principali abbinati ai relativi punteggi. Vedere lo screenshot:


Sblocca la magia di Excel con KUTOOLS AI
- Esecuzione intelligente: Esegui operazioni sulle celle, analizza i dati e crea grafici, il tutto con comandi semplici e intuitivi.
- Formule personalizzate: crea formule su misura per ottimizzare i tuoi flussi di lavoro.
- Codifica VBA: Scrivi e implementa codice VBA in modo semplice e immediato.
- Interpretazione delle formule: Comprendi con facilità anche le formule più complesse.
- Traduzione del testo: Superate le barriere linguistiche direttamente nei vostri fogli di calcolo.
Formule per creare un elenco dinamico dei primi 10 con criteri
In alcune attività di analisi potrebbe essere necessario un elenco dei migliori che includa solo le voci corrispondenti a criteri specifici, ad esempio limitando i risultati ai primi posti all’interno di un determinato gruppo, team o categoria. Immagina, per esempio, di voler identificare i primi 10 punteggi esclusivamente per la “Classe 1” da un foglio dati che contiene voti di più classi. Ecco come utilizzare le formule in uno scenario del genere:

1. Inizia estraendo i primi 10 valori che soddisfano il criterio specificato (ad esempio, "Classe 1") dal set di dati. Inserisci questa formula nella cella di destinazione (ad esempio, J2):
2. Dopo aver immesso la formula, premere Ctrl + Maiusc + Invio per confermarla come formula matriciale, quindi trascinare il quadratino di riempimento verso il basso per popolare le altre celle. La formula restituirà i 10 valori più alti corrispondenti alla condizione selezionata (ad esempio, tutti i punteggi della "Classe 1").

3. Per elencare i nomi corrispondenti a questi valori più alti in base ai criteri definiti, copia e incolla la formula seguente nella cella I2 e premi Ctrl + Maiusc + Invio per inserirla come formula di matrice. Dopodiché, estendi la formula verso il basso per quanto necessario e genera l’intero elenco dei nomi.

Assicurati di adeguare gli intervalli nelle formule in modo che rispecchino la struttura effettiva dei tuoi dati. Tieni presente che l’uso di intervalli ampi con formule di matrice può rallentare le prestazioni. Se tra i primi 10 compaiono valori duplicati, la formula gestirà correttamente i punteggi ripetuti e restituirà più nomi di studenti quando i loro voti sono uguali.
Crea un elenco dinamico dei primi 10 in Office 365
Mentre le versioni precedenti di Excel richiedevano la combinazione di diverse funzioni con formule di matrice, Office 365 (e Excel 2021) introduce funzioni per matrici dinamiche come INDICE, ORDINA, SEQUENZA e FILTRA, che semplificano notevolmente il flusso di lavoro. Queste funzioni rendono più semplice creare elenchi dinamici dei primi 10, riducono gli errori e sono particolarmente utili per tabelle in continua crescita o soggette a frequenti modifiche. Se lavori in un ambiente con dati in costante aggiornamento, queste funzioni ottimizzano le tue analisi e ti consentono di prendere decisioni aziendali più rapide.
Formula per creare un elenco dinamico dei primi 10
Per estrarre e visualizzare un elenco dinamico dei primi 10 con Office 365, inserisci la seguente formula nella cella di output desiderata. Ti basterà adattare gli intervalli e i numeri alle tue esigenze: la formula aggiornerà automaticamente i risultati dei primi 10 non appena i tuoi dati verranno modificati.
Premi semplicemente il tasto Invio. L’elenco completo dei primi 10 appare all’istante ed è dinamico: eventuali nuovi dati o modifiche ai punteggi si aggiornano automaticamente nella classifica.

Funzione ORDINA:
=ORDINA(matrice; [indice_ordinamento]; [ordine_ordinamento]; [per_colonna])
- matrice: l’intervallo che vuoi ordinare.
- [indice_ordinamento]: numero della colonna in base alla quale effettuare l’ordinamento. In una tipica tabella di voti, si tratta spesso della seconda colonna.
- [ordine_ordinamento]: utilizza 1 per l’ordine crescente o -1 per quello decrescente. Per ottenere i punteggi più alti, usa -1.
- [per_colonna]: indica se ordinare per colonne (VERO) o per righe (FALSO o omesso).
Ad esempio: ORDINA(A2:B20;2; -1) ordina l'intervallo A2:B20 in base alla seconda colonna in ordine decrescente.
Funzione SEQUENZA:
=SEQUENZA(righe; [colonne]; [inizio]; [passo])
- righe: numero di righe da restituire, ad esempio 10 per ottenere i primi 10 risultati.
- [colonne]: (opzionale) numero di colonne da restituire.
- [inizio]: (opzionale) valore iniziale.
- [passo]: (opzionale) valore di incremento.
SEQUENZA(10) genera i numeri da 1 a 10, permettendo a INDICE di selezionare i primi 10 risultati ordinati.
Combinando queste funzioni, =INDICE(ORDINA(A2:B20;2;-1);SEQUENZA(10);{1;2}) si ottiene un elenco dinamico a due colonne dei primi 10.
Formula per creare un elenco dinamico dei primi 10 con criteri
Se devi estrarre i primi 10 risultati per un gruppo specifico, ad esempio «Classe 1», queste avanzate funzioni di Office 365 ti permettono di generare un elenco Top N includendo esclusivamente le righe che soddisfano i tuoi criteri. Inserisci la formula seguente nella posizione desiderata e adatta gli intervalli e la cella del criterio in base alle tue esigenze:
Dopo aver inserito la formula, premi semplicemente il tasto Invio. L’elenco dei primi 10, filtrato e ordinato esclusivamente in base al criterio specificato, viene visualizzato all’istante e si aggiorna automaticamente ogni volta che modifichi i dati o il criterio.

Funzione FILTRO:
=FILTRO(matrice; includi; [se_vuoto])
- matrice: l’intervallo di celle da filtrare.
- Includi: la condizione (ad esempio, uguale a una determinata classe) per l’inclusione.
- [se_vuoto]: (opzionale) indica cosa visualizzare quando nessun risultato soddisfa i criteri.
=FILTRO(A2:C25;B2:B25=F2) restituisce solo le righe in cui la colonna B corrisponde al valore presente in F2.
Crea un elenco dinamico dei primi 10 con un Tabella pivot
Tabella pivot: Visualizza automaticamente i risultati Top N in modo interattivo
Un metodo alternativo per creare un elenco dinamico Top N consiste nell’utilizzare la funzionalità Tabella pivot di Excel. Questo approccio si rivela particolarmente efficace con set di dati di grandi dimensioni, per analisi interattive — come modificare rapidamente il numero di elementi da visualizzare o applicare filtri al volo — o quando si preferisce evitare formule complesse. Le tabelle pivot sono intuitive, si aggiornano automaticamente al variare dei dati e risultano quindi ideali per dashboard o report condivisi con altri utenti.
Per creare un elenco dinamico Top N utilizzando una Tabella pivot:
- Fai clic in qualsiasi punto all'interno della tabella dati, quindi vai su Inserisci > Tabella pivot.
- Nella finestra di dialogo della Tabella pivot, scegli dove posizionarla e fai clic su OK.
- Trascina il campo «Nome» (o un identificativo simile) nell'area Righe.
- Trascina il campo «Punteggio» (o la colonna dei valori) nell'area Valori. Di solito verrà impostato automaticamente su «Somma di» o «Conteggio di»; per gli elenchi dei migliori risultati, scegli generalmente «Somma» o «Max». Se necessario, modifica il calcolo del campo valori facendo clic con il pulsante destro del mouse e selezionando Riepiloga valori per.
- Ordina la colonna «Punteggio» in ordine decrescente facendo clic con il pulsante destro del mouse su un valore e selezionando Ordina > Ordina Dal più grande al più piccolo.
- Per limitare i risultati ai primi N, fai clic sulla freccia a discesa delle Etichette di riga, seleziona Filtri valori > Primi 10..., imposta il numero desiderato (ad esempio, Primi 10) e il campo su cui filtrare, quindi fai clic su OK.
La tua Tabella pivot mostra ora i primi 10 elementi dinamici (o qualsiasi altro valore N specificato). Per modificare il valore Top N, torna semplicemente alle impostazioni del filtro. Se i tuoi dati cambiano, aggiorna la Tabella pivot per visualizzare immediatamente la classifica aggiornata.
I vantaggi di questo approccio includono una configurazione rapida, un ordinamento semplice e la possibilità di regolare in modo interattivo il valore N. Tuttavia, le tabelle pivot non possono aggiungere automaticamente righe corrispondenti da altre colonne se queste non sono incluse nell’area Righe o Valori. Gli utenti esperti possono personalizzare ulteriormente i report mediante raggruppamenti, l’inserimento di segmentazioni dati o integrando il filtro Top N nelle dashboard.
Crea un elenco dinamico dei primi 10 utilizzando VBA
Macro VBA: genera e aggiorna automaticamente un elenco dei primi N
L’utilizzo di una macro VBA è particolarmente indicato per chi gestisce grandi volumi di dati o aggiornamenti frequenti e ha bisogno di automatizzare l’estrazione e l’aggiornamento di un elenco dinamico Top N. Le macro sono perfette per eliminare attività ripetitive e assicurare coerenza: è possibile creare una routine che ordini i dati e copi automaticamente solo le prime N righe in una posizione predefinita ogni volta che viene eseguita.
Per utilizzare una macro VBA per creare un elenco dinamico Top N, segui questi passaggi:
- Fare clic su Sviluppo > Visual Basic per aprire l'editor VBA. (Se la scheda Sviluppo non è visibile, andare in File > Opzioni > Personalizza barra multifunzione e abilitare «Sviluppo».)
- Nella finestra VBA, fai clic su Inserisci > Modulo per aggiungere un nuovo modulo.
- Incollare il seguente codice VBA nel modulo:
Sub ExtractTopNList()
'Updated by Extendoffice 2025/7/24
Dim DataRange As Range
Dim OutputRange As Range
Dim N As Integer
Dim ws As Worksheet, tempWS As Worksheet
Dim xTitleId As String
Dim LastCol As Long
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set ws = ActiveSheet
Set DataRange = Application.InputBox("Select the full data range to analyze (including headers)", xTitleId, ws.UsedRange.Address, Type:=8)
Set OutputRange = Application.InputBox("Select the top-left cell of the output area", xTitleId, "", Type:=8)
N = Application.InputBox("How many top items to extract? (Enter a positive integer)", xTitleId, 10, Type:=1)
If DataRange Is Nothing Or OutputRange Is Nothing Or N < 1 Then Exit Sub
' Create a temporary worksheet to avoid sorting original data
Set tempWS = Worksheets.Add(After:=Worksheets(Worksheets.Count))
DataRange.Copy tempWS.Range("A1")
' Determine last column for sorting key
LastCol = DataRange.Columns.Count
' Sort in temporary sheet
tempWS.UsedRange.Sort Key1:=tempWS.Cells(1, LastCol), Order1:=xlDescending, Header:=xlYes
' Copy headers and top N rows to output
tempWS.Rows(1).Copy Destination:=OutputRange
tempWS.Range("A2").Resize(N, LastCol).Copy Destination:=OutputRange.Offset(1, 0)
' Optional: Delete temporary sheet
Application.DisplayAlerts = False
tempWS.Delete
Application.DisplayAlerts = True
Application.CutCopyMode = False
End Sub 4. Per eseguire la macro, assicurati che i tuoi dati siano organizzati correttamente in una tabella con intestazioni. Premi F5 oppure fai clic sul pulsante
nell’editor VBA. Ti verrà chiesto di:
- Seleziona il tuo intervallo di dati (incluse le intestazioni per un ordinamento corretto).
- Seleziona la cella di output in cui desideri incollare i risultati.
- Immettere il numero N (ad esempio, 10 per visualizzare i primi 10 risultati).
La macro copierà le prime N voci, incluse le intestazioni, nella posizione specificata.
Si consiglia di applicare questa procedura a una copia di backup della cartella di lavoro durante i primi test. In caso di errori (ad esempio, la selezione di un intervallo errato), riesegui la macro assicurandoti che gli intervalli e la struttura dei dati siano corretti.
Questa soluzione è perfetta per automatizzare attività di reporting ripetitive, creare dashboard o aggiornare in modo rapido i report Top N senza dover ricorrere a formule manuali o ordinamenti. Puoi personalizzare ulteriormente lo script VBA per implementare logiche di classificazione più avanzate, ad esempio ordinando in base a una colonna specifica o esportando i risultati in un’altra cartella di lavoro.
Risoluzione dei problemi: se la macro non funziona come previsto, verifica che la tabella dei dati includa intestazioni corrette, controlla i tipi di dati per evitare problemi di ordinamento e assicurati che i riferimenti di cella siano selezionati con precisione in ciascuna richiesta. Salva sempre il tuo lavoro prima di eseguire macro per prevenire modifiche accidentali ai dati.
In sintesi, Excel offre diversi metodi per creare e gestire un elenco dinamico Top N: dalle formule tradizionali alle potenti funzioni di Office 365, dalle tabelle pivot per analisi interattive alle macro VBA per automazioni avanzate. Scegli l’approccio più adatto al tuo flusso di lavoro e alla scala dei tuoi dati. Le formule si rivelano efficaci nella maggior parte delle analisi manuali; le funzioni di Office 365 garantiscono massima semplicità e potenza; le tabelle pivot sono ideali per riepiloghi rapidi e flessibili; infine, VBA risulta particolarmente utile per automatizzare compiti ripetitivi di classificazione su larga scala. Verifica sempre l’integrità delle tue formule o del codice e aggiorna i riferimenti di cella in base a eventuali modifiche nella struttura dei dati man mano che il tuo progetto evolve.
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 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.
- 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