Come creare una lista dinamica dei primi 10 o n in Excel?
In molti progetti e processi aziendali, è spesso necessario classificare individui, organizzazioni, prodotti o altre entità in base alle loro prestazioni o valori numerici. Una "lista dei migliori" serve per evidenziare le voci con le prestazioni più alte, come i migliori studenti per voto, i migliori venditori o i dipartimenti con il maggior fatturato. Ad esempio, potresti avere una tabella di voti degli studenti e voler estrarre dinamicamente i primi 10 punteggi per premi, analisi o monitoraggio dei risultati educativi, come illustrato nello screenshot qui sotto. Creare una lista dinamica dei primi 10 o N in Excel ti permette di vedere i risultati aggiornati automaticamente man mano che i tuoi dati cambiano, risparmiando tempo e riducendo gli errori derivanti dalla classificazione manuale. Questa guida introduce diverse soluzioni pratiche - inclusi formule, tabelle pivot e macro VBA - per aiutarti a costruire una lista dinamica dei primi 10 o n per soddisfare efficacemente una varietà di esigenze di analisi dei dati.
Crea una lista dinamica dei primi 10 in Excel
- Formule per creare una lista dinamica dei primi 10
- Formule per creare una lista dinamica dei primi 10 con criteri
Crea una lista dinamica dei primi 10 in Office 365
- Formula per creare una lista dinamica dei primi 10
- Formula per creare una lista dinamica dei primi 10 con criteri
Crea una lista dinamica dei primi 10 in Excel
In Excel 2019 e versioni precedenti, la creazione di una lista dinamica dei primi 10 (o primi N) prevede la combinazione di formule per estrarre contemporaneamente sia i valori più alti che i nomi o gli ID associati. Questa soluzione è ampiamente utilizzata ed è adatta per situazioni in cui si desidera che la lista si aggiorni automaticamente quando i dati cambiano. Le seguenti operazioni illustrano come ottenere questo risultato utilizzando formule classiche di Excel. Queste formule offrono flessibilità e non richiedono componenti aggiuntivi speciali di Excel, ma il processo di configurazione è un po' più complesso rispetto ad alcune moderne funzioni di array dinamico.
Formule per creare una lista dinamica dei primi 10
1. Per iniziare, devi estrarre i primi 10 valori dal tuo intervallo di valori. Inserisci la seguente formula in una cella vuota (ad esempio, cella G2). Dopo aver inserito la formula, trascina il quadratino di riempimento verso il basso per generare la tua lista dinamica dei primi 10 valori. Vedi screenshot:
2. Successivamente, per visualizzare i nomi corrispondenti (o gli ID) associati a quei valori più alti, inserisci la seguente formula nella cella F2. Questa è una formula di matrice, quindi dopo averla inserita, premi Ctrl + Shift + Invio per confermare. Questa formula trova i nomi corrispondenti ai valori più alti che hai appena estratto:
- A2:A20 è l'intervallo da cui estrarre i nomi;
- B2:B20 è l'intervallo dei punteggi o dei valori;
- G2 è il valore più alto ricavato dalla formula sopra;
- B1 è l'intestazione dell'elenco dei valori ed è usata per l'offset nei calcoli delle RIGHE.
Questa formula collega dinamicamente i valori più alti ai loro nomi. Se il tuo intervallo di valori contiene duplicati, CONTA.SE assicura che ogni nome corrispondente appaia solo una volta con il suo punteggio.
3. Dopo aver estratto il primo risultato, seleziona la formula nella cella F2 e trascina il quadratino di riempimento verso il basso per copiare la formula in quante righe sono necessarie. Questo espanderà i tuoi risultati per visualizzare dinamicamente i nomi di tutte le prime voci, corrispondenti a quei punteggi. Vedi screenshot:

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.
Formule per creare una lista dinamica dei primi 10 con criteri
In alcune attività di analisi, potrebbe essere necessaria una lista dei migliori che mostri solo le voci che soddisfano determinati criteri - ad esempio, limitando i risultati migliori a un gruppo, una squadra o una categoria specifica. Ad esempio, potresti voler identificare i primi 10 punteggi solo per la "Classe 1" da un foglio dati totale contenente voti di più classi. Ecco come puoi utilizzare le formule per questo scenario:
1. Inizia estraendo i primi 10 valori che soddisfano il tuo criterio specificato (ad esempio, "Classe 1") dal set di dati. Inserisci questa formula nella cella target (ad esempio, J2):
2. Dopo aver inserito la formula, premi Ctrl + Shift + Invio per confermare come formula di matrice e poi trascina verso il basso il quadratino di riempimento per riempire le altre celle. La formula restituirà i primi 10 valori più alti che corrispondono alla tua condizione scelta (ad esempio, tutti i punteggi della "Classe 1").
3. Per elencare i nomi corrispondenti a questi valori più alti secondo i tuoi criteri, copia e incolla la formula sottostante nella cella I2 e premi Ctrl + Shift + Invio come formula di matrice. Poi, riempila verso il basso secondo necessità per generare l'elenco completo dei nomi.
Assicurati di regolare gli intervalli nelle formule in base alla tua configurazione dati effettiva. Tieni presente che l'utilizzo di ampi intervalli di dati con formule di matrice può rallentare le prestazioni. Se ci sono valori duplicati nei tuoi primi 10, la formula gestirà adeguatamente i punteggi ripetuti e fornirà più nomi di studenti se i loro voti sono uguali.
Crea una lista dinamica dei primi 10 in Office 365
Mentre le versioni precedenti di Excel richiedono la combinazione di diverse funzioni con formule di matrice, Office 365 (ed Excel 2021) introduce funzioni di array dinamico come INDICE, ORDINA, SEQUENZA e FILTRA che semplificano notevolmente il flusso di lavoro. Queste funzioni rendono più facile costruire liste dinamiche dei primi 10, riducono gli errori e sono particolarmente utili per le tabelle che crescono o cambiano frequentemente. Se operi in un ambiente con dati che si aggiornano costantemente, queste funzioni possono semplificare la tua analisi e consentire decisioni aziendali più rapide.
Formula per creare una lista dinamica dei primi 10
Per estrarre e visualizzare una lista dinamica dei primi 10 utilizzando Office 365, inserisci la formula seguente nella tua cella di output desiderata. Tutto ciò che devi fare è regolare gli intervalli e i numeri in base alle tue esigenze, e la formula mostrerà automaticamente i risultati più recenti dei primi 10 ogni volta che i tuoi dati cambiano.
Premi semplicemente il tasto Invio. L'elenco completo dei primi 10 appare istantaneamente e rimarrà dinamico, quindi eventuali dati aggiuntivi o punteggi modificati verranno immediatamente riflessi nella tua classifica.
Funzione ORDINA:
=ORDINA(matrice; [indice_di_ordinamento]; [ordine_di_ordinamento]; [per_col])
- matrice: L'intervallo che vuoi ordinare.
- [indice_di_ordinamento]: Numero della colonna in base alla quale ordinare. Per una tipica tabella di voti, questa è spesso la seconda colonna.
- [ordine_di_ordinamento]: Usa 1 per ordine crescente o -1 per ordine decrescente. Per ottenere i punteggi più alti, usa -1.
- [per_col]: Se ordinare per colonne (VERO) o per righe (FALSO o omesso).
Ad esempio: ORDINA(A2:B20;2;-1) ordina A2:B20 per la seconda colonna in ordine decrescente.
Funzione SEQUENZA:
=SEQUENZA(righe; [colonne]; [inizio]; [passo])
- righe: Numero di righe da restituire, ad esempio 10 per una lista dei primi 10.
- [colonne]: (Opzionale) Numero di colonne da restituire.
- [inizio]: (Opzionale) Valore di partenza.
- [passo]: (Opzionale) Valore di incremento.
SEQUENZA(10) genera i numeri da 1 a 10, permettendo a INDICE di scegliere i primi 10 risultati ordinati.
Combinandoli, =INDICE(ORDINA(A2:B20;2;-1);SEQUENZA(10);{1;2}) ti dà una lista dinamica di due colonne dei primi 10.
Formula per creare una lista dinamica dei primi 10 con criteri
Se hai bisogno di estrarre i primi 10 per un gruppo particolare, come la "Classe 1", queste funzioni avanzate di Office 365 possono creare una lista top N includendo solo quelle righe che soddisfano i tuoi criteri. Posiziona la formula sottostante nel punto desiderato e regola gli intervalli e la cella dei criteri secondo necessità:
Dopo aver inserito la formula, premi semplicemente il tasto Invio. La lista dei primi 10 filtrata e classificata solo per il criterio specificato viene visualizzata immediatamente, aggiornandosi ogni volta che modifichi i tuoi dati o criteri.
Funzione FILTRA:
=FILTRA(matrice; include; [se_vuoto])
- matrice: L'intervallo di celle da filtrare.
- include: La condizione (ad esempio, uguale a una classe data) per l'inclusione.
- [se_vuoto]: (Opzionale) Cosa visualizzare se nessun risultato soddisfa i criteri.
=FILTRA(A2:C25;B2:B25=F2) restituisce solo quelle righe in cui la colonna B corrisponde al valore in F2.
Crea una lista dinamica dei primi 10 con una Tabella Pivot
Tabella Pivot: Visualizza automaticamente i primi N risultati in modo interattivo
Un modo alternativo per costruire una lista dinamica dei primi N è utilizzando la funzione Tabella Pivot di Excel. Questo metodo è particolarmente adatto per grandi set di dati, analisi interattive (come cambiare rapidamente il numero di elementi principali o applicare filtri), o quando si vuole evitare formule complesse. Le tabelle pivot sono facili da usare e si aggiornano automaticamente quando i dati cambiano, rendendole ottime per dashboard o report condivisi con altri.
Per creare una lista dinamica dei primi N utilizzando una tabella pivot:
- Fai clic in qualsiasi punto all'interno della tua tabella dati, poi vai su Inserisci > Tabella Pivot.
- Nella finestra di dialogo Tabella Pivot, scegli dove vuoi che la tabella pivot sia posizionata e fai clic su OK.
- Trascina il tuo campo "Nome" (o identificatore simile) nell'area Righe.
- Trascina il tuo campo "Punteggio" (o colonna dei valori) nell'area Valori. Di solito predefinito a "Somma di" o "Conteggio di" - per le liste superiori, generalmente vuoi "Somma" o "Max". Cambia il calcolo del campo valore se necessario facendo clic con il tasto destro e scegliendo Riepiloga Valore Per.
- Ordina la colonna "Punteggio" in ordine decrescente facendo clic con il tasto destro su un valore e selezionando Ordina > Ordina dal più grande al più piccolo.
- Per limitare ai primi N risultati, fai clic sulla freccia a discesa su Etichette di Riga, seleziona Filtri Valore > Primi 10..., imposta il numero (ad esempio, Primi 10) e il campo su cui filtrare, poi fai clic su OK.
La tua tabella pivot ora mostra i primi 10 dinamici (o qualsiasi N tu specifichi). Per cambiare i primi N, basta rivedere le impostazioni del filtro. Se i tuoi dati cambiano, aggiorna la tabella pivot per aggiornare istantaneamente le classifiche.
I vantaggi di questo approccio includono una configurazione rapida, una facile ordinazione e un aggiustamento interattivo. Tuttavia, le tabelle pivot non possono aggiungere automaticamente righe corrispondenti da altre colonne a meno che non siano incluse nell'area Righe o Valori. Gli utenti avanzati possono personalizzare ulteriormente i report raggruppando, creando selettori o incorporando il filtro Top N nei dashboard.
Crea una lista dinamica dei primi 10 utilizzando VBA
Macro VBA: Genera e aggiorna automaticamente una lista dei primi N
L'uso di una macro VBA è adatto per gli utenti che gestiscono dati estesi o frequentemente aggiornati dove è richiesto l'estrazione e l'aggiornamento automatizzato di una lista dinamica dei primi N. Le macro sono ideali per ridurre i compiti ripetitivi e garantire la coerenza. Puoi creare una routine che ordini i tuoi dati e copi solo le prime N righe in una posizione specifica ogni volta che viene eseguita.
Per utilizzare una macro VBA per creare una lista dinamica dei primi N, segui questi passaggi:
- Fai clic su Sviluppatore > Visual Basic per aprire l'editor VBA. (Se non vedi la scheda Sviluppatore, vai su File > Opzioni > Personalizza Barra Multifunzione e abilita "Sviluppatore".)
- Nella finestra VBA, fai clic su Inserisci > Modulo per aggiungere un nuovo modulo.
- Incolla 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 disposti correttamente in una tabella con intestazioni. Premi F5 o fai clic sul pulsante nell'editor VBA. Ti verrà chiesto di:
- Selezionare l'intervallo dei dati (includendo le intestazioni per un ordinamento corretto).
- Selezionare la cella di output in cui incollare i risultati.
- Inserire il numero N (ad esempio, 10 per i primi 10).
La macro copierà le prime N voci (incluse le intestazioni) nella posizione che hai specificato.
Si consiglia di usarlo in una copia di backup del tuo foglio di lavoro durante i primi test. Se si verificano errori (come la selezione di un intervallo errato), rieseguire e assicurarsi che gli intervalli e il layout dei dati siano corretti.
Questa soluzione è ideale per automatizzare compiti di reporting ripetitivi, creare dashboard o aggiornare rapidamente report dei primi N senza formule manuali o ordinamenti. È possibile personalizzare ulteriormente lo script VBA per logiche di classificazione più complesse, come ordinare per una colonna specifica o esportare i risultati in un altro foglio di lavoro.
Risoluzione dei problemi: Se la macro non funziona come previsto, controlla che la tua tabella dati includa intestazioni appropriate, correggi i tipi di dati per evitare problemi di ordinamento e assicurati che i riferimenti di cella siano accuratamente selezionati in ogni prompt. Salva sempre il tuo lavoro prima di eseguire le macro per prevenire modifiche accidentali ai dati.
In sintesi, Excel supporta vari metodi per generare e mantenere una lista dinamica dei primi N - dalle formule tradizionali alle potenti funzioni di Office 365, tabelle pivot per analisi interattive e macro VBA per automazione avanzata. Scegli il metodo che meglio si adatta al tuo flusso di lavoro e alla scala dei tuoi dati. L'uso di formule è efficace per la maggior parte delle analisi manuali, le funzioni di Office 365 offrono la maggiore semplicità e potenza, le tabelle pivot sono eccellenti per riassunti veloci e flessibili, e VBA è particolarmente utile per automatizzare compiti di classificazione ampi e ripetitivi. Verifica sempre l'integrità delle tue formule o del tuo codice e adatta i riferimenti di cella per abbinarli a qualsiasi cambiamento nella struttura dei tuoi dati man mano che il tuo progetto evolve.
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