Come riempire casualmente i valori da un elenco di dati in Excel?
La selezione casuale di valori da un elenco predefinito in Excel è un'attività comune con applicazioni nell'analisi dei dati, simulazioni, assegnazione randomizzata, campionamento, test di scenari e molto altro. Ad esempio, potresti voler simulare estrazioni per un premio, allocare casi di prova randomizzati per il controllo qualità o distribuire compiti in modo casuale tra i membri del team. Realizzare questo in Excel può rendere il tuo flusso di lavoro molto più efficiente e meno soggetto a errori rispetto alla selezione manuale.
Questa guida completa ti accompagnerà attraverso diversi metodi per raggiungere questo obiettivo, che vanno da approcci basati su formule semplici adatti a tutti gli utenti, fino all'automazione avanzata con VBA, e persino strumenti specializzati e user-friendly come Kutools per Excel. Ogni metodo ha i suoi punti di forza e scenari ideali d'utilizzo, analizzati di seguito per aiutarti a scegliere la soluzione migliore per le tue esigenze.
Riempi casualmente i valori da un elenco di dati con formule
In questa sezione, ti guideremo attraverso diversi metodi pratici basati su formule per riempire casualmente i valori da un elenco specificato. Queste soluzioni non richiedono installazioni aggiuntive e possono essere implementate rapidamente nella maggior parte delle versioni moderne di Excel.
✅ Formula1: Funzioni INDICE + CASUALE.TRA
La combinazione delle funzioni INDICE e CASUALE.TRA è un classico metodo compatibile con tutte le versioni per selezionare casualmente i valori da un elenco. È adatto per generare rapidamente singoli o multipli valori casuali dove sono accettabili selezioni duplicate, come nel campionamento casuale o nella generazione di dati fittizi.
Per utilizzare questo metodo, basta copiare o inserire la seguente formula in una cella vuota (ad esempio, B2), quindi trascinare l'handle di riempimento verso il basso per popolare quanti valori casuali sono necessari. Ricorda, poiché la formula coinvolge funzioni volatili (come CASUALE.TRA), il risultato cambierà ogni volta che il foglio verrà ricalcolato.
=INDEX($A$2:$A$15, RANDBETWEEN(1, COUNTA($A$2:$A$15)))
- A2:A15: Rappresenta l'elenco di valori da cui si desidera selezionare casualmente.
- CONTA.VALORI($A$2:$A$15): Conta dinamicamente il numero di elementi nella tua lista, assicurando che la formula rimanga robusta se la lunghezza della lista cambia.
- CASUALE.TRA(1, n): Genera un numero intero casuale tra 1 e n (il numero di elementi nella lista).
- INDICE(intervallo, numero): Recupera l'elemento corrispondente alla posizione selezionata casualmente dalla tua lista.
Precauzioni: Poiché il valore si aggiorna ad ogni cambiamento nel foglio di lavoro, se hai bisogno che i risultati rimangano invariati, assicurati di copiare le celle riempite e incollarle come valori. Inoltre, questa strategia non esclude i duplicati—se è richiesta l'unicità, considera i metodi descritti nelle sezioni successive o esegui un post-elaborazione.
✅ Formula2: INDICE + MATR.CASUALE funzioni (Excel 365 / 2021+)
La combinazione delle funzioni INDICE e MATR.CASUALE è adatta agli utenti di Excel 365 e Excel 2021. Questo approccio utilizza array dinamici per produrre batch di selezioni casuali in una sola volta, semplificando i flussi di lavoro che richiedono molte scelte casuali in un unico passaggio. È particolarmente utile quando hai bisogno rapidamente di una certa quantità di selezioni casuali. Nota, tuttavia, che, come la formula precedente, questo metodo non garantisce l'unicità dei risultati all'interno del batch.
Per utilizzare questa soluzione, inserisci la formula in una cella vuota, come B2, e premi Invio. Excel “verserà” automaticamente i valori casuali generati nelle righe successive. Ad esempio, la seguente formula produce 5 valori casuali dall'elenco:
=INDEX(A2:A15, RANDARRAY(5, 1, 1, COUNTA(A2:A15), TRUE))
- A2:A15: L'elenco di dati designato per la selezione casuale.
- CONTA.VALORI(A2:A15): Conta le voci nell'elenco di destinazione.
- MATR.CASUALE(5,1,1, CONTA.VALORI(...), VERO): Genera 5 numeri interi casuali tra 1 e l'ultima posizione nell'elenco, producendo un array verticale (1 colonna).
- INDICE(A2:A15, …): Mappa ciascun numero casuale a un valore dall'elenco.
Suggerimenti: Se hai bisogno di un numero diverso di valori casuali, regola semplicemente il 5 in MATR.CASUALE(5,1, ...)
di conseguenza. Ricorda sempre di incollare come valori se hai bisogno che i risultati rimangano fissi, poiché gli output basati su formule si aggiornano con le modifiche al foglio.
Riempi casualmente i valori da un elenco con VBA (Soluzione Avanzata & Personalizzabile)
Se hai bisogno di automatizzare assegnazioni di valori casuali su larga scala, prevenire duplicati o richiedere maggiore personalizzazione (come l'applicazione di logiche complesse durante la selezione), un approccio VBA (Visual Basic for Applications) è ideale. VBA ti permette di generare selezioni casuali davvero uniche, applicare logiche di distribuzione personalizzate e ripetere attività con un singolo comando—utile per simulazioni avanzate, allocazione casuale automatizzata o lavorare con grandi insiemi di dati.
Questa soluzione è adatta per utenti a proprio agio con le macro o coloro che vogliono automatizzare i loro flussi di lavoro in Excel.
1. Apri l'editor VBA cliccando Sviluppatore > Visual Basic (oppure premi Alt + F11), che aprirà la finestra Microsoft Visual Basic for Applications. Poi, vai su Inserisci > Modulo e incolla il codice sottostante nella finestra del modulo:
Sub RandomFillFromList_NoDuplicates()
Dim srcRange As Range
Dim destRange As Range
Dim srcValues As Variant
Dim destCount As Integer
Dim usedIndexes As Object
Dim i As Integer
Dim randIndex As Integer
On Error Resume Next
Set srcRange = Application.InputBox("Select source list", "KutoolsforExcel", Type:=8)
If srcRange Is Nothing Then Exit Sub
Set destRange = Application.InputBox("Select destination range (number of random values to fill)", "KutoolsforExcel", Type:=8)
If destRange Is Nothing Then Exit Sub
srcValues = Application.Transpose(srcRange.Value)
destCount = destRange.Cells.Count
Set usedIndexes = CreateObject("Scripting.Dictionary")
If UBound(srcValues) < destCount Then
MsgBox "Not enough unique items in the source list to fill destination without duplicates.", vbExclamation, "KutoolsforExcel"
Exit Sub
End If
Randomize
For i = 1 To destCount
Do
randIndex = Int(Rnd() * UBound(srcValues)) + 1
Loop While usedIndexes.Exists(randIndex)
usedIndexes(randIndex) = True
destRange.Cells(i).Value = srcValues(randIndex)
Next
End Sub
2. Esegui la macro facendo clic sul pulsante sulla barra degli strumenti VBA. La macro ti chiederà di selezionare (a) l'elenco di origine (l'intervallo di valori da cui scegliere), e (b) l'intervallo di output (per il numero di valori casuali estratti, seleziona semplicemente un numero uguale di celle). Il codice assicura che non ci siano valori duplicati nell'output se l'elenco di origine è abbastanza grande. In caso contrario, mostrerà un avviso.
Questo metodo VBA offre i seguenti vantaggi e considerazioni:
- Vantaggi: Assicura selezioni casuali e non ripetitive; consente di gestire liste e batch molto grandi; facile da automatizzare attività ripetute.
- Svantaggi: Richiede file Excel abilitati per le macro. Se il tuo foglio di lavoro limita le macro, questo approccio potrebbe non essere adatto. Possono verificarsi errori se il conteggio della destinazione supera il numero di elementi di origine.
- Avvisi di errore: La macro ti notificherà se non ci sono abbastanza valori unici nell'elenco di origine per la tua richiesta.
- Consigli di personalizzazione: Puoi adattare ulteriormente il codice per consentire duplicati rimuovendo il controllo di unicità, o implementare logiche di ponderazione o filtraggio per scenari più specializzati.
Seleziona e riempi casualmente i valori da un elenco di dati con Kutools per Excel (Tutte le versioni)
Kutools per Excel fornisce una soluzione accessibile e interattiva per selezionare e riempire casualmente i valori da un elenco. È ideale per gli utenti che vogliono gestire assegnazioni casuali senza scrivere formule o codice, o per quelli che devono processare rapidamente selezioni in massa con il minimo input manuale. Kutools offre anche opzioni per controllare l'output, come il numero di valori da selezionare, tramite un'interfaccia dialogo semplice.
Dopo aver installato Kutools per Excel, procedi come segue per utilizzare la sua funzionalità di selezione casuale integrata:
- Seleziona l'intervallo contenente i valori che vuoi scegliere casualmente.
- Clicca Kutools > Intervallo > Ordina / Seleziona Intervallo Casualmente. Fai riferimento allo screenshot qui sotto:
- Nella Ordina / Seleziona Intervallo Casualmente finestra di dialogo, vai alla scheda Seleziona e fai quanto segue:
- Specifica il numero di celle da selezionare casualmente.
- Assicurati di scegliere l'opzione Seleziona celle casuali all'interno di Tipi di Selezione.
- Infine, clicca sul pulsante OK .
- Il numero indicato di celle casuali sarà evidenziato o selezionato. Puoi poi copiare e incollare queste celle altrove secondo necessità.
Oltre alla semplicità, il metodo Kutools previene anche errori comuni con la randomizzazione manuale e non richiede familiarità con le formule di Excel o le impostazioni delle macro. Se vuoi valori unici nella tua selezione, assicurati che l'elenco di origine sia più grande del numero di elementi che intendi scegliere e verifica le opzioni all'interno della finestra di dialogo per selezionare senza duplicati, se disponibili.
🔚Conclusione
Il riempimento casuale di valori da un elenco predefinito in Excel può essere gestito in modo efficiente utilizzando una varietà di tecniche adatte a diversi livelli di conoscenza e scenari:
- Per tutte le versioni di Excel, la formula INDICE più CASUALE.TRA è veloce e affidabile per generare selezioni casuali, soprattutto negli elenchi in cui è accettabile consentire duplicati.
- Se hai Excel 365 o 2021, la soluzione MATR.CASUALE + INDICE fornisce una selezione batch più dinamica che accelera i processi quando sono necessarie molte uscite in una volta.
- Per esigenze altamente personalizzabili—come assicurare nessun duplicato, automatizzare grandi assegnazioni casuali o gestire logiche di selezione complesse—il metodo VBA offre la massima flessibilità, anche se gli utenti dovrebbero essere familiari con l'esecuzione di macro.
- Se preferisci un approccio senza codice e user-friendly, Kutools per Excel ti consente di generare selezioni randomizzate tramite un'interfaccia grafica, rendendolo adatto sia per principianti che per utenti avanzati che necessitano di risultati rapidi.
È importante considerare se hai bisogno di selezioni uniche o puoi consentire duplicati, quanti valori casuali richiedi e il tuo livello di comfort con le formule di Excel o le macro. Prima di condividere o salvare i risultati casuali, usa la funzione incolla-come-valori per evitare riconteggi accidentali. Per gli utenti interessati ad esplorare ulteriori soluzioni Excel, visita la nostra sezione tutorial di Excel per altre guide pratiche e suggerimenti.
Suggerimenti per la risoluzione dei problemi: Verifica attentamente gli intervalli dell'elenco per l'accuratezza, tieni presente il ricalcolo con funzioni volatili e assicurati che le impostazioni di sicurezza delle macro consentano l'esecuzione di VBA quando si utilizzano soluzioni basate su codice. Se si verificano errori durante l'uso di VBA (come dimensione insufficiente dell'elenco di origine), segui il prompt e riconsidera i tuoi intervalli.
Articoli correlati:
Seleziona casualmente celle in base a criteri in Excel
Aggiungi casualmente colore di sfondo/riempimento alle celle in Excel
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