Genera rapidamente gruppi casuali per un elenco di dati in Excel
Nel lavoro quotidiano o durante la preparazione di sessioni di studio o formazione, potresti aver bisogno di suddividere un elenco di dati—come nomi, matricole studenti o compiti di progetto—in gruppi in modo casuale. Ad esempio, come mostrato in screenshot1, gli elementi vengono assegnati casualmente a gruppi; oppure, come illustrato in screenshot2, i nomi vengono distribuiti tra squadre casuali per un’attività o un compito di gruppo. Completare questa operazione in modo efficiente garantisce equità e fa risparmiare molto tempo rispetto all’assegnazione manuale. Fortunatamente, Excel offre diversi metodi affidabili—tra cui formule, automazione VBA e analisi con Tabelle pivot—per gestire l’assegnazione casuale dei gruppi in modo rapido e flessibile.
| Screenshot1 | Screenshot2 |
![]() | ![]() |
Assegnazione casuale dei dati a gruppi
Genera gruppi casuali con una dimensione specificata dei dati
Automatizza l’assegnazione casuale dei gruppi con VBA (Opzioni avanzate)
Quando devi assegnare casualmente un elenco di dati a un numero specifico di gruppi — e va bene che la dimensione di ciascun gruppo possa variare — puoi ottenere rapidamente il risultato desiderato combinando le funzioni CHOOSE e RANDBETWEEN di Excel. Scenari tipici includono l’organizzazione di partecipanti per giochi o la creazione di team ad hoc per riunioni.
Inizia selezionando una cella vuota accanto al tuo elenco (ad esempio, se il tuo elenco si trova nella colonna A, seleziona la cella B2). Inserisci quindi la seguente formula:
=CHOOSE(RANDBETWEEN(1,3),«Group A»,«Group B»,«Group C »)
In questa formula:
- RANDBETWEEN(1,3) indica che vengono generati numeri casuali da 1 a 3, corrispondenti a 3 gruppi.
- Gruppo A, Gruppo B e Gruppo C sono i nomi dei gruppi che appariranno accanto ai tuoi dati.
Trascina quindi il quadratino di riempimento verso il basso per estendere la formula alle altre righe e assegnare casualmente tutti gli elementi ai gruppi.
Dopo questo passaggio, ogni elemento dell’elenco viene assegnato in modo casuale a un gruppo. Tieni presente che i risultati potrebbero variare ogni volta che il foglio viene ricalcolato — ad esempio dopo la modifica di una cella o al riavvio del file — poiché RANDBETWEEN è una funzione volatile.
Suggerimento pratico: Se non desideri che queste assegnazioni cambino, copia i risultati della formula e usa Incolla speciale > Valori per fissare le assegnazioni.
Scenari applicabili: Questo metodo offre flessibilità ed è ideale per esigenze rapide e generali di raggruppamento. Tuttavia, le dimensioni dei gruppi potrebbero variare, risultando quindi poco adatto a situazioni in cui è richiesta una distribuzione rigorosamente uniforme.
Attenzione: Presta attenzione se hai un dataset ampio o hai bisogno di dimensioni precise dei gruppi: valuta altri metodi per un controllo più accurato.

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.
Per distribuire i dati in gruppi assegnati casualmente con un numero fisso di elementi per gruppo (ad esempio, 4 membri per gruppo), la combinazione delle funzioni ROUNDUP e RANK in Excel rappresenta una soluzione efficace. È ideale per assegnazioni in classe, la creazione di team bilanciati o qualsiasi scenario che richieda gruppi di dimensioni uniformi.
Per applicare questo metodo:
1. Innanzitutto, aggiungi una colonna ausiliaria accanto ai tuoi dati (ad esempio, la colonna E) e inserisci nella cella E2:
=RAND()
Trascina questa formula verso il basso per riempire tutte le celle necessarie del tuo elenco: la funzione RAND assegna a ogni elemento un valore casuale.
2. Nella colonna successiva (ad esempio, F2), inserisci la seguente formula:
=ROUNDUP(RANK(E2,$E$2:$E$13)/4,0)
Qui:
- E2:E13: Modifica questo intervallo in base ai tuoi dati. Deve includere tutte le righe con la funzione =RAND().
- 4: La dimensione di ciascun gruppo. Modifica questo valore se desideri dimensioni diverse.
Trascina il quadratino di riempimento verso il basso per applicare la formula a tutte le righe: i tuoi dati saranno così suddivisi in gruppi di circa 4 elementi ciascuno.
Ulteriori indicazioni:
- Se il numero totale di elementi non è divisibile per la dimensione del gruppo, l’ultimo gruppo potrebbe contenere meno elementi.
- Usa Incolla speciale > Valori dopo la randomizzazione per bloccare i gruppi ed evitare modifiche al successivo ricalcolo.
- L’aggiornamento di RAND() rigenera automaticamente i gruppi casuali, ideale se l’assegnazione iniziale necessita di aggiustamenti.
Limitazioni: Questo metodo non ti permette di specificare direttamente il nome del gruppo (genera numeri di gruppo) e, con dataset ampi, la formula potrebbe rallentare i ricalcoli.
Per utenti con esigenze più avanzate—come garantire che nessun membro appartenga a più di un gruppo, bilanciare con precisione le dimensioni dei gruppi o riassegnare i membri in base a vincoli specifici—VBA offre una flessibilità superiore. Questo approccio risulta particolarmente utile per elenchi ampi o quando si devono eseguire assegnazioni ripetute. Prima di procedere, ricorda di salvare il tuo file: nella maggior parte dei casi, infatti, il codice VBA modificherà direttamente i tuoi dati.
1. Fai clic su Strumenti sviluppatore > Visual Basic per aprire l’editor VBA, quindi fai clic su Inserisci > Modulo. Copia e incolla il seguente codice nel nuovo modulo:
Sub AssignRandomGroups()
Dim GroupCount As Integer
Dim GroupSize As Integer
Dim rng As Range, cell As Range
Dim i As Long, j As Long, idx As Long
Dim arr() As Variant, groupArr() As Variant, grpNum As Integer
Dim ws As Worksheet
Dim totalRows As Integer, remaining As Integer
On Error Resume Next
Set ws = Application.ActiveSheet
Set rng = Application.InputBox("Select the range of data to group", "KutoolsforExcel", Type:=8)
GroupCount = Application.InputBox("Enter the number of groups:", "KutoolsforExcel", 3, Type:=1)
If rng Is Nothing Or GroupCount <= 0 Then Exit Sub
arr = rng.Value
totalRows = UBound(arr, 1)
GroupSize = Int(totalRows / GroupCount)
remaining = totalRows - GroupSize * GroupCount
ReDim groupArr(1 To totalRows)
Dim used() As Boolean
ReDim used(1 To totalRows)
Randomize
For i = 1 To totalRows
Do
idx = Int(Rnd() * totalRows) + 1
Loop While used(idx)
used(idx) = True
groupArr(i) = idx
Next i
For i = 1 To totalRows
grpNum = Int((i - 1) / GroupSize) + 1
If grpNum > GroupCount Then grpNum = GroupCount
rng.Cells(groupArr(i), 1).Offset(0, 1).Value = "Group " & grpNum
Next i
MsgBox "Groups assigned randomly and as evenly as possible.", vbInformation
End Sub 2. Clicca quindi sul pulsante
per eseguire il codice. Ti verrà chiesto di selezionare l’intervallo dei tuoi dati (ad esempio una colonna con nomi o ID) e di indicare il numero di gruppi che desideri creare. Il codice VBA assegnerà automaticamente ogni riga a un gruppo, inserendo il relativo numero nella colonna immediatamente a destra.
- Prevenire assegnazioni duplicate: ogni membro viene inserito in un solo gruppo.
- Gruppi bilanciati: Distribuisce gli elementi nel modo più uniforme possibile. Se i dati non possono essere suddivisi in parti perfettamente uguali, l’ultimo (o gli ultimi) gruppo(i) potrebbe contenere un elemento in più o in meno.
- Personalizzazione: Puoi personalizzare il codice VBA per modificare il testo di output, impostare una colonna di partenza diversa o aggiungere ulteriori regole di assegnazione.
Avvertenze: VBA modifica direttamente i dati del foglio di lavoro—assicurati di salvare un backup prima di eseguirlo. In caso di errori (ad esempio, selezionando più colonne del previsto), ricontrolla attentamente la selezione e i valori inseriti per il numero di gruppi.
Risoluzione dei problemi: Se la scheda Sviluppatore non è visibile, abilitala tramite File > Opzioni > Personalizza barra multifunzione > Sviluppatore. In caso di errore, verifica che le impostazioni delle macro siano abilitate ()File > Opzioni > Centro protezione).
Vantaggi nei casi d’uso: VBA è ideale per utenti esperti che richiedono un controllo preciso, gestiscono dataset di grandi dimensioni o devono automatizzare attività ripetitive. Risulta invece meno adatto per operazioni rapide e basilari, poiché richiede l’abilitazione delle macro e la scrittura o modifica del codice.
Clicca per scaricare il file di esempio
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

