Como preencher valores aleatoriamente a partir de uma lista de dados no Excel?
Selecionar valores aleatoriamente de uma lista predefinida no Excel é uma tarefa comum com aplicações em análise de dados, simulações, atribuições aleatórias, amostragem, cenários de testes e muito mais. Por exemplo, você pode querer simular sorteios de prêmios, distribuir casos de teste de maneira aleatória para garantia de qualidade ou atribuir tarefas aleatoriamente entre os membros da equipe. Realizar isso no Excel torna seu fluxo de trabalho muito mais eficiente e menos suscetível a erros do que selecionar manualmente.
Este guia completo mostrará diversos métodos para alcançar esse objetivo, desde abordagens simples baseadas em fórmulas (adequadas para todos os usuários), passando pela automação avançada com VBA, até ferramentas especializadas e fáceis de usar como o Kutools para Excel. Cada método tem seus próprios pontos fortes e cenários de uso ideais, que analisamos a seguir para ajudá-lo a escolher a melhor solução para as suas necessidades.
Preencher valores aleatoriamente a partir de uma lista de dados com fórmulas
Nesta seção, vamos apresentar vários métodos práticos baseados em fórmulas para preencher valores aleatoriamente de uma lista específica. Essas soluções não exigem instalação adicional e podem ser rapidamente aplicadas na maioria das versões modernas do Excel.
✅ Fórmula1: Funções INDEX + RANDBETWEEN
A combinação das funções INDEX e RANDBETWEEN é uma maneira clássica e compatível entre versões para escolher valores aleatórios de uma lista. É ideal para gerar rapidamente um ou vários valores aleatórios, quando repetições são aceitáveis—como em amostragens aleatórias ou geração de dados fictícios.
Para usar este método, basta copiar ou digitar a fórmula em uma célula em branco (por exemplo, B2) e arrastar a alça de preenchimento para baixo para gerar quantos valores aleatórios forem necessários. Lembre-se de que, como a fórmula envolve funções voláteis (como RANDBETWEEN), o resultado mudará sempre que a planilha for recalculada.
=INDEX($A$2:$A$15, RANDBETWEEN(1, COUNTA($A$2:$A$15)))
- A2:A15: Representa a lista de valores dentre os quais você deseja selecionar aleatoriamente.
- COUNTA($A$2:$A$15): Conta dinamicamente a quantidade de itens na sua lista, garantindo que a fórmula seja robusta caso a extensão da lista mude.
- RANDBETWEEN(1, n): Gera um número inteiro aleatório entre1 e n (quantidade de itens da lista).
- INDEX(range, número): Retorna o item correspondente à posição selecionada aleatoriamente da sua lista.
Cuidados: Como o valor é atualizado em qualquer alteração na planilha, se você precisar que os resultados permaneçam fixos, copie as células preenchidas e cole como valores. Além disso, essa estratégia não elimina duplicatas—se for necessário exclusividade, considere os métodos das próximas seções ou faça um pós-processamento.
✅ Fórmula2: Funções INDEX + RANDARRAY (Excel365 /2021+)
A combinação das funções INDEX e RANDARRAY é ideal para usuários do Excel365 e Excel2021. Esse método utiliza arrays dinâmicos para gerar conjuntos de seleções aleatórias de uma só vez, facilitando fluxos de trabalho que exijam muitas escolhas aleatórias em um único passo. É especialmente útil quando você precisa de várias seleções aleatórias de forma rápida. Observe, contudo, que como na fórmula anterior, esse método não garante que os resultados do lote sejam únicos.
Para usar esta solução, insira a fórmula em uma célula em branco, como B2, e pressione Enter. O Excel irá "derramar" automaticamente os valores aleatórios gerados nas linhas seguintes. Por exemplo, a fórmula a seguir retorna5 valores aleatórios da lista:
=INDEX(A2:A15, RANDARRAY(5, 1, 1, COUNTA(A2:A15), TRUE))
- A2:A15: A lista de dados designada para seleção aleatória.
- COUNTA(A2:A15): Conta as entradas na lista de destino.
- RANDARRAY(5,1,1, COUNTA(...), TRUE): Gera5 números inteiros aleatórios entre1 e a última posição da lista, criando um array vertical (1 coluna).
- INDEX(A2:A15, …): Associa cada número aleatório a um valor da lista.
Dicas: Se precisar de uma quantidade diferente de valores aleatórios, basta ajustar o 5 em RANDARRAY(5,1, ...)
conforme necessário. Sempre lembre-se de colar como valores se for necessário manter os resultados fixos, pois as fórmulas atualizam os dados conforme a planilha é alterada.
Preencher valores aleatoriamente a partir de uma lista com VBA (Solução avançada e personalizável)
Se você precisa automatizar grandes volumes de atribuições aleatórias, evitar duplicidades ou personalizar ainda mais (como aplicar lógica avançada na seleção), a abordagem com VBA (Visual Basic for Applications) é ideal. O VBA permite gerar seleções aleatórias verdadeiramente exclusivas, aplicar lógica de distribuição personalizada e repetir tarefas com apenas um comando—útil para simulações avançadas, alocações randômicas automatizadas ou grandes conjuntos de dados.
Esta solução é indicada para usuários que já têm familiaridade com macros ou que desejam automatizar seus fluxos de trabalho no Excel.
1. Abra o editor VBA clicando em Desenvolvedor > Visual Basic (ou pressione Alt + F11), isso abrirá a janela Microsoft Visual Basic for Applications. Em seguida, vá em Inserir > Módulo e cole o código abaixo na janela do módulo:
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. Execute a macro clicando no botão na barra de ferramentas do VBA. A macro solicitará que você selecione (a) a lista de origem (intervalo de valores para sortear), e (b) a área de colocação da lista (Para a quantidade de valores aleatórios extraídos, selecione o mesmo número de células). O código garante que não haja valores duplicados na saída caso a lista de origem seja grande o suficiente. Caso contrário, será exibido um aviso.
Este método VBA apresenta os seguintes pontos positivos e considerações:
- Prós: Garante seleções aleatórias sem repetições; permite trabalhar com listas e lotes muito grandes; fácil de automatizar tarefas repetidas.
- Contras: Exige arquivos do Excel habilitados para macros. Caso sua pasta de trabalho restrinja macros, este método pode não ser adequado. Erros podem ocorrer caso o número de células de destino exceda o número de itens da origem.
- Avisos de Erro: A macro avisará se não houver valores exclusivos suficientes na lista de origem para atender ao seu pedido.
- Dicas de personalização: Você pode adaptar o código para permitir duplicatas removendo a verificação de exclusividade, ou implementar lógica de pesos ou filtros para cenários específicos.
Selecionar e preencher valores aleatoriamente de uma lista de dados com Kutools para Excel (Todas as versões)
O Kutools para Excel oferece uma solução acessível e interativa para selecionar e preencher valores da lista de maneira aleatória. É ideal para quem deseja fazer atribuições aleatórias sem digitar fórmulas ou códigos, ou para quem precisa processar grandes quantidades de seleções com o mínimo de intervenção manual. O Kutools também permite controlar a saída, como o número de valores a serem selecionados, tudo de forma intuitiva através de uma caixa de diálogo.
Após instalar o Kutools para Excel, siga estes passos para usar a funcionalidade interna de seleção aleatória:
- Selecione o intervalo que contém os valores que você deseja escolher aleatoriamente.
- Clique em Kutools > Intervalo > Ordenar, Selecionar ou Aleatorizar. Consulte a imagem abaixo:
- Na Ordenar, Selecionar ou Aleatorizar caixa de diálogo, vá até a Selecionar guia, e faça o seguinte:
- Especifique o número de células a serem selecionadas aleatoriamente.
- Certifique-se de marcar a opção Célula dentro de Tipo de Seleção.
- Por fim, clique em OK botão.
- O número selecionado de células aleatórias será destacado ou selecionado. Em seguida, você pode copiar e colar essas células onde desejar.
Além da facilidade, o método com Kutools também evita erros comuns na randomização manual e não exige familiaridade com fórmulas do Excel ou configurações de macros. Se deseja apenas valores únicos na sua seleção, certifique-se de que a lista de origem seja maior do que a quantidade de itens que deseja sortear e, se disponível, marque as opções para selecionar sem duplicidades.
🔚Conclusão
Preencher valores aleatórios a partir de uma lista predefinida no Excel pode ser feito com eficiência, usando diferentes técnicas adequadas para variados níveis de conhecimento e cenários:
- Para todas as versões do Excel, a fórmula INDEX com RANDBETWEEN é rápida e confiável para gerar seleções aleatórias, especialmente em listas onde repetições são aceitáveis.
- Se você usa o Excel365 ou2021, a solução com RANDARRAY + INDEX fornece uma seleção em lote mais dinâmica, acelerando processos quando são necessários muitos resultados de uma só vez.
- Para necessidades altamente personalizáveis—como garantir ausência de duplicidades, automatizar grandes atribuições aleatórias ou trabalhar com lógica de seleção complexa—o método VBA oferece flexibilidade máxima, embora o usuário precise estar familiarizado com macroexecução.
- Se preferir uma abordagem sem código, fácil de usar, o Kutools para Excel permite criar seleções aleatórias por meio da interface gráfica, sendo ideal tanto para iniciantes quanto para usuários avançados que precisam de resultados rápidos.
É importante considerar se você precisa de seleções exclusivas ou pode aceitar duplicidades, quantas escolhas aleatórias são necessárias e seu grau de familiaridade com fórmulas ou macros do Excel. Antes de compartilhar ou salvar os resultados aleatórios, use o recurso "colar como valores" para evitar recálculos acidentais. Para mais soluções práticas, visite nossa seção de tutoriais de Excel para mais guias e dicas.
Sugestões de resolução de problemas: Revise cuidadosamente os intervalos das listas para garantir precisão, preste atenção ao recálculo de funções voláteis e verifique se as configurações de segurança permitem a execução de VBA ao usar soluções baseadas em código. Se ocorrerem erros ao usar VBA (como tamanho insuficiente da lista de origem), siga o aviso e reveja seus intervalos.
Artigos relacionados:
Selecionar aleatoriamente células com base em critérios no Excel
Adicionar cor de fundo/preenchimento de forma aleatória às células no Excel
Melhores Ferramentas de Produtividade para Office
Impulsione suas habilidades no Excel com Kutools para Excel e experimente uma eficiência incomparável. Kutools para Excel oferece mais de300 recursos avançados para aumentar a produtividade e economizar tempo. Clique aqui para acessar o recurso que você mais precisa...
Office Tab traz interface com abas para o Office e facilita muito seu trabalho
- Habilite edição e leitura por abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie múltiplos documentos em novas abas de uma mesma janela, em vez de em novas janelas.
- Aumente sua produtividade em50% e economize centenas de cliques todos os dias!
Todos os complementos Kutools. Um instalador
O pacote Kutools for Office reúne complementos para Excel, Word, Outlook & PowerPoint, além do Office Tab Pro, sendo ideal para equipes que trabalham em vários aplicativos do Office.





- Pacote tudo-em-um — complementos para Excel, Word, Outlook & PowerPoint + Office Tab Pro
- Um instalador, uma licença — configuração em minutos (pronto para MSI)
- Trabalhe melhor em conjunto — produtividade otimizada entre os aplicativos do Office
- Avaliação completa por30 dias — sem registro e sem cartão de crédito
- Melhor custo-benefício — economize comparado à compra individual de add-ins