Como preencher valores aleatoriamente a partir de uma lista de dados no Excel?
Selecionar valores aleatoriamente a partir 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 teste e muito mais. Por exemplo, pode querer simular sorteios para prémios, atribuir casos de teste aleatórios para garantia de qualidade ou distribuir tarefas de forma aleatória entre membros da equipa. Fazer isto no Excel torna o seu fluxo de trabalho significativamente mais eficiente e menos suscetível a erros do que a seleção manual.
Este guia abrangente orienta-o através de diversos métodos para alcançar este objetivo — desde abordagens simples baseadas em fórmulas, acessíveis a todos os utilizadores, até à automação avançada com VBA e ferramentas especializadas e intuitivas como o Kutools para Excel. Cada método apresenta as suas próprias vantagens e cenários ideais de utilização, analisados abaixo para o ajudar a escolher a melhor solução para as suas necessidades.
Preencher valores aleatoriamente a partir de uma lista de dados com fórmulas
Nesta secção, apresentamos vários métodos práticos baseados em fórmulas para preencher valores aleatoriamente a partir de uma lista específica — soluções que não exigem instalação adicional e podem ser implementadas rapidamente na maioria das versões modernas do Excel.
✅ Fórmula 1: Funções ÍNDICE + ALEATÓRIOENTRE
A combinação das funções ÍNDICE e ALEATÓRIOENTRE é uma abordagem clássica e compatível com múltiplas versões para selecionar aleatoriamente valores de uma lista. Ideal para gerar rapidamente valores aleatórios — únicos ou múltiplos — quando são permitidas seleções repetidas, como em amostragem aleatória ou criação de dados fictícios.
Para utilizar este método, copie ou introduza a seguinte fórmula numa célula vazia (por exemplo, B2) e arraste a alça de preenchimento para baixo, gerando tantos valores aleatórios quantos forem necessários. Tenha em atenção que, como a fórmula recorre a funções voláteis (como ALEATÓRIOENTRE), os resultados serão atualizados sempre que a folha for recalculada.
=INDEX($A$2:$A$15, RANDBETWEEN(1, COUNTA($A$2:$A$15))) 
- A2:A15: Representa a lista de valores da qual pretende selecionar aleatoriamente.
- CONTAR.VAL($A$2:$A$15): Conta dinamicamente o número de itens na sua lista, garantindo que a fórmula se mantenha robusta mesmo que o comprimento da lista mude.
- ALEATÓRIOENTRE(1, n): Gera um número inteiro aleatório entre 1 e n (o número de itens na lista).
- ÍNDICE(intervalo, número): Obtém o item correspondente à posição escolhida aleatoriamente na sua lista.
Precauções: Como o valor é atualizado com qualquer alteração na folha de cálculo, se precisar que os resultados permaneçam inalterados, copie as células preenchidas e cole-as como valores. Além disso, esta estratégia não exclui duplicados—se for necessária unicidade, considere os métodos descritos nas secções seguintes ou realize um pós-processamento.
✅ Fórmula 2: Funções ÍNDICE + MATRIZALEATÓRIA (Excel 365 / 2021+)
A combinação das funções ÍNDICE e MATRIZALEATÓRIA é ideal para utilizadores do Excel 365 e Excel 2021. Esta abordagem tira partido das matrizes dinâmicas para apresentar lotes completos de seleções aleatórias de uma só vez, simplificando fluxos de trabalho que exigem múltiplas seleções aleatórias num único passo. É particularmente útil quando precisa rapidamente de obter um número específico de seleções aleatórias. Note, contudo, que, tal como na fórmula anterior, este método não garante a unicidade dos resultados dentro do lote.
Para utilizar esta solução, introduza a fórmula numa célula vazia, como B2, e prima Enter. O Excel irá automaticamente “derramar” os valores aleatórios gerados nas linhas seguintes. Por exemplo, a fórmula abaixo apresenta 5 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.
- CONTAR.VAL(A2:A15): Conta as entradas na lista-alvo.
- MATRIZALEATÓRIA(5,1,1, CONTAR.VAL(...), VERDADEIRO): Gera 5 números inteiros aleatórios entre 1 e a última posição da lista, criando uma matriz vertical (1 coluna).
- ÍNDICE(A2:A15, …): Associa cada número aleatório a um valor da sua lista.
Dicas: Se precisar de um número diferente de valores aleatórios, basta ajustar o valor 5 em MATRIZALEATÓRIA(5,1, ...) conforme necessário. Lembre-se sempre de colar como valores se quiser que os resultados permaneçam fixos, já que as saídas baseadas em fórmulas são atualizadas sempre que a folha sofrer alterações.
Preencher valores aleatoriamente a partir de uma lista com VBA (Solução avançada e personalizável)
Se precisar de automatizar atribuições de valores aleatórios em larga escala, evitar entradas duplicadas ou exigir maior personalização — como aplicar lógica complexa durante a seleção —, uma abordagem com VBA (Visual Basic for Applications) é a ideal. O VBA permite-lhe gerar seleções verdadeiramente únicas, aplicar lógica personalizada de distribuição e repetir tarefas com um único comando, sendo perfeito para simulações avançadas, alocação aleatória automatizada ou trabalho com conjuntos de dados extensos.
Esta solução é ideal para utilizadores à vontade com macros ou que pretendam automatizar os seus fluxos de trabalho no Excel.
1. Abra o editor do VBA clicando em Programador > Visual Basic(ou prima)Alt + F11), o que abrirá a janela do Microsoft Visual Basic for Applications. Em seguida, vá a 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 ao clicar no botão
na barra de ferramentas do VBA. A macro irá pedir-lhe que selecione (a) a lista de origem (o intervalo de valores a partir do qual serão escolhidos os itens) e (b) a área de colocação da lista (para obter o número pretendido de valores aleatórios, basta selecionar um número equivalente de células). O código garante que não haja valores duplicados no resultado, desde que a lista de origem seja suficientemente extensa. Caso contrário, será exibido um aviso.
Este método VBA oferece as seguintes vantagens e considerações:
- Vantagens: Garante seleções aleatórias sem repetições; permite gerir listas e lotes muito grandes; ideal para automatizar tarefas repetitivas com facilidade.
- Desvantagens: Requer um livro do Excel com macros ativadas (ficheiros do Excel). Se o seu livro restringir macros, esta abordagem poderá não ser adequada. Podem ocorrer erros se o número de destinos exceder o número de itens na origem.
- Alertas de erro: A macro notificá-lo-á se a lista de origem não contiver valores únicos suficientes para satisfazer o seu pedido.
- Dicas de personalização: Pode adaptar ainda mais o código para permitir duplicados, removendo a verificação de unicidade, ou implementar lógica de ponderação ou filtragem para cenários mais especializados.
Selecionar e preencher aleatoriamente valores a partir de uma lista de dados com Kutools para Excel (todas as versões)
Kutools para Excel oferece uma solução acessível e interativa para selecionar e preencher valores aleatoriamente a partir de uma lista. É ideal para utilizadores que pretendem fazer atribuições aleatórias sem recorrer a fórmulas ou código, ou que precisam de processar rapidamente seleções em lote com intervenção manual mínima. O Kutools disponibiliza ainda opções para controlar o resultado — como o número de valores a escolher — através de uma interface de diálogo simples e intuitiva.
Após instalar o Kutools para Excel, siga os passos seguintes para utilizar a sua funcionalidade integrada de seleção aleatória:
- Selecione o intervalo que contém os valores a partir dos quais deseja fazer uma seleção aleatória.
- Clique em Kutools > Intervalo > Ordenar, Selecionar ou Aleatorizar. Consulte a imagem abaixo:

- Na caixa de diálogo Ordenar, Selecionar ou Aleatorizar, aceda ao separador Selecionare proceda da seguinte forma:
- Indique o número de células que pretende selecionar aleatoriamente.
- Certifique-se de que escolhe a opção Célula dentro de Tipo de Seleção.
- Por fim, clique no botão OK.

- O número indicado de células aleatórias será destacado ou selecionado, podendo depois copiá-las e colá-las noutro local, conforme necessário.

Além de ser simples, o método do Kutools evita ainda erros comuns associados à randomização manual e não exige conhecimento de fórmulas nem de definições de macros do Excel. Se pretender valores únicos na sua seleção, certifique-se de que a lista de origem é maior do que o número de itens que planeia escolher e verifique, na caixa de diálogo, se estão disponíveis opções para seleção sem duplicados.
🔚Conclusão
Preencher aleatoriamente valores a partir de uma lista predefinida no Excel pode ser feito de forma eficiente utilizando diversas técnicas adaptadas a diferentes níveis de conhecimento e cenários:
- Para todas as versões do Excel, a combinação da fórmula ÍNDICE com ALEATÓRIOENTRE é rápida e fiável para gerar seleções aleatórias, especialmente em listas onde são permitidos duplicados.
- Se tiver Excel 365 ou 2021, a combinação de MATRIZALEATÓRIA com ÍNDICE proporciona uma seleção em lote mais dinâmica, acelerando os processos sempre que forem necessárias múltiplas saídas em simultâneo.
- Para necessidades altamente personalizáveis — como garantir a ausência de duplicados, automatizar atribuições aleatórias em larga escala ou gerir lógicas complexas de seleção —, a abordagem com VBA oferece flexibilidade máxima, embora exija que os utilizadores estejam familiarizados com a execução de macros.
- Se preferir uma abordagem sem código e intuitiva, o Kutools para Excel permite-lhe gerar seleções aleatórias através de uma interface gráfica, tornando-a ideal tanto para principiantes como para utilizadores avançados que precisem de resultados rápidos.
É importante considerar se precisa de seleções únicas ou se permite duplicados, quantas seleções aleatórias necessita e o seu grau de familiaridade com fórmulas ou macros do Excel. Antes de partilhar ou guardar os resultados aleatórios, utilize a opção 'colar como valores' para evitar recálculos acidentais. Se estiver interessado em explorar outras soluções para o Excel, visite a nossa secção de tutoriais do Excel para mais guias práticos e dicas.
Sugestões para resolução de problemas: Verifique novamente a exatidão dos intervalos das listas, esteja atento ao recálculo provocado por funções voláteis e certifique-se de que as definições de segurança das macros permitem a execução de VBA ao utilizar soluções baseadas em código. Caso surjam erros ao usar VBA (por exemplo, tamanho insuficiente da lista de origem), siga a indicação apresentada e reveja os seus intervalos.
Artigos relacionados:
Selecionar aleatoriamente células com base em critérios no Excel
Adicionar aleatoriamente fundo/Cor de preenchimento às células no Excel
As Melhores Ferramentas de Produtividade para o Office
Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...
Office Tab Traz uma interface com separadores para o Office e torna o seu trabalho muito mais fácil
- Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
- Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!
Todos os suplementos Kutools — num único instalador.
Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.
- Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Um instalador, uma licença— configuração em minutos (pronto para MSI)
- Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
- Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
- Melhor relação qualidade-preço— poupe face à compra individual dos suplementos


