Pular para o conteúdo principal

Gerador de números aleatórios do Excel: 3 métodos diferentes

Há várias maneiras de gerar números aleatórios no Excel, como as funções `RAND(),` `RANDBETWEEN(),` e `RANDARRAY()`.
Actualizado 18 de fev. de 2025  · 6 min de leitura

Os números aleatórios são usados no Excel para todos os tipos de tarefas, como simulações e testes de hipóteses. Neste artigo, mostrarei a você as diferentes maneiras de gerá-los. Começaremos com o básico, como RAND() e RANDBETWEEN(),, e depois passaremos para opções mais avançadas, como RANDARRAY(). Ao final, você saberá exatamente como usar cada uma dessas funções e como escolher entre elas.

Visão geral das funções de números aleatórios do Excel

O Excel pode gerar números aleatórios como decimais simples, números inteiros dentro de um intervalo ou até mesmo tabelas inteiras de valores. Vamos dar uma olhada em três maneiras diferentes de fazer isso:

Função RAND()

A função RAND() fornece um decimal aleatório entre 0 e 1. É uma função importante, e é por isso que a incluímos em nossa lista de 15 fórmulas básicas do Excel que todos precisam saber.

Para gerar números decimais aleatórios entre 0 e 1, basta digitar =RAND() em uma das células. Se você quiser mais números aleatórios, arraste para aplicar essa fórmula a outras linhas.

Geração de números aleatórios usando a função RAND no Excel.

Gerar números aleatórios usando a função RAND(). Imagem do autor.


Você também pode usar a função RAND() para gerar diferentes tipos de números, como

  • Números aleatórios dentro de um intervalo específico: Use esta fórmula: RAND() * N fórmula. Aqui, N pode ser qualquer valor. 

  • Número aleatório entre dois números quaisquer: Use esta fórmula: RAND() * (b - a) + a. Aqui, b é o valor mais alto e a é o mais baixo. O resultado será sempre menor do que o valor de b.

  • Números aleatórios que são inteiros em vez de números decimais: Use as fórmulas acima e, em seguida, envolva-as na função INT().

=RAND()*100
=RAND()*(20-10)+10
=INT(RAND()*(20-10)+10)

Gerar um número inteiro aleatório com a função RAND() no Excel.

Gerar números inteiros aleatórios com a função RAND(). Imagem do autor.

Como observação, você pode notar que esses números são atualizados sempre que insiro novos números na planilha. Certifique-se de usar Colar especial > Valores se você quiser fixar os números no lugar (mais sobre isso mais tarde).

Função RANDBETWEEN()

RANDBETWEEN() gera números inteiros aleatórios entre o intervalo especificado. Sua sintaxe é:

=RANDBETWEEN(bottom, top)

A parte inferior é o valor mais baixo, e a parte superior é o mais alto.

Por exemplo, imagine que eu queira gerar números inteiros entre 10 e 20. Posso usar a seguinte fórmula:

=RANDBETWEEN(10,20)

Geração de números aleatórios usando RANDBETWEEN() no Excel

Gerar números aleatórios usando RANDBETWEEN(). Imagem do autor.

Observe como você poderia obter o mesmo resultado com =INT(RAND()*(20-10)+10). Mas eu prefiro o RANDBETWEEN() porque é uma versão mais fácil e atualizada da função RAND() projetada para esse tipo de trabalho. Com o RAND(),, preciso escrever uma fórmula longa para obter um número inteiro aleatório entre dois valores. Mas com o RANDBETWEEN(),, você pode fazer isso em uma única etapa.

Função RANDARRAY()

RANDARRAY() foi introduzido no Excel 365. Ele retorna uma matriz de números aleatórios e nos permite especificar o número de valores, linhas e colunas a serem preenchidos - tudo sem arrastar a fórmula - e podemos escolher se queremos retornar números decimais ou inteiros.

=RANDARRAY([rows],[columns],[min],[max],[whole_number])

Aqui:

  • rows refere-se ao número de linhas que você deseja preencher.

  • columns refere-se ao número de colunas que você deseja preencher.

  • min especifica o número mais baixo.

  • max especifica o número mais alto.

  • whole_number usa TRUE para números inteiros e FALSE (ou deixa em branco) para decimais.

Vamos ver como isso funciona na vida real. Suponha que eu queira gerar números decimais aleatórios em 4 colunas e 6 linhas entre 10 e 20. Nesse caso, minha fórmula seria:

=RANDARRAY(6,4,10,20)

Para os números inteiros, a fórmula seria a seguinte:

=RANDARRAY(6,4,10,20,TRUE)

Dessa forma, sempre que atualizo a planilha, novos números são gerados.

Geração de números aleatórios usando a função RANDARRAY() no Excel.

Gerar números aleatórios usando a função RANDARRAY(). Imagem do autor.

Uma comparação rápida de todas as funções 

Aqui está uma comparação rápida das três funções:

Recurso RAND() RANDBETWEEN() RANDARRAY()
Tipo de saída Decimal Inteiros entre um intervalo especificado Decimal ou Inteiro
Opção de faixa disponível Não Sim Sim
Fornece vários valores Não Não Sim
Versões disponíveis Todas as versões (Excel 365 - 2000) Excel 365 - 2007 Excel 365 - 2021

Usos específicos do gerador de números aleatórios do Excel 

Vamos dar uma olhada em alguns exemplos reais de como e onde podemos usar geradores de números aleatórios.

Gerar números aleatórios exclusivos

Às vezes, queremos gerar números aleatórios que não se repetem. Embora o Excel não tenha uma função direta para isso, podemos fazer uma combinação de duas funções:

  1. RAND() com RANK.EQ()

  2. RANDARRAY() com UNIQUE() 

Digamos que eu precise de 10 números aleatórios exclusivos. Primeiro, aplico RAND() na célula A2 para gerar números aleatórios e os arrasto para A10. Em seguida, na célula B2, como quero que esses números sejam valores exclusivos, insiro a seguinte fórmula:

=RANK.EQ(A2,$A$2:$A$10)

Gerar números aleatórios exclusivos usando RANK.EQ e RAND no Excel.

Gerar números aleatórios exclusivos usando RANK.EQ(). Imagem do autor.

Outra maneira é envolver a função RANDARRAY() dentro da função UNIQUE(). Aqui, eu gero 10 números aleatórios exclusivos entre 1 e 20 usando esta fórmula:

=UNIQUE(RANDARRAY(10,1,1,20,TRUE))

Geração de números aleatórios com UNIQUE e RANDARRAY no Excel. 

Gerar números aleatórios com UNIQUE() e RANDARRAY(). Imagem do autor.

Observação: Tanto o UNIQUE() quanto o RANDARRAY() funcionam apenas no Excel 365 e 2021. Faça nosso curso de Fundamentos do Excel para se manter atualizado.

Gerar números com distribuições específicas

O Excel também oferece uma maneira de gerar números aleatórios seguindo uma distribuição específica, como uma distribuição normal, que pode ser útil em algo como uma simulação Monte Carlo. Para isso, você pode usar o NORM.INV().

=NORM.INV(probability, mean, standard deviation)

Aqui: 

  • probability é um decimal aleatório entre 0 e 1 (RAND()).

  • mean é o valor médio em torno do qual os números devem se concentrar.

  • O desvio padrão refere-se ao quanto os números flutuam para cima e para baixo em relação à média.

Por exemplo, quero criar pontuações de teste aleatórias para uma classe de alunos e definir a pontuação média como 75. A maioria dos alunos obtém 10 pontos (o que significa que suas pontuações variam de 65 a 85). Então, apliquei a seguinte fórmula a todas as linhas:

=NORM.INV(RAND(), 75, 10)

Geração de distribuição normal usando a função NORM.INV no Excel.

Gere uma distribuição normal usando a função NORM.INV(). Imagem do autor.

Anonimizar e testar dados

Podemos até usar números aleatórios para substituir dados confidenciais (como números de conta ou números de telefone) para fins de teste ou privacidade de dados.

Aqui, tenho uma lista de números de contas e quero tornar anônimos os quatro primeiros dígitos dos números de contas, então os substituo por números aleatórios gerais usando esta fórmula:

=REPLACE(A2,1,4,RANDBETWEEN(1,4))

Oculte/anonimize os dados confidenciais com números aleatórios usando a função RANDBETWEEN no Excel.

Oculte os dados confidenciais com números aleatórios. Imagem do autor.

Tomar decisões melhores

Pode parecer surpreendente, mas podemos até usar números aleatórios para tomar decisões rápidas. Por exemplo, se eu quiser escolher um vencedor de uma longa lista aleatoriamente, posso extrair um nome aleatório do intervalo fornecido.

Abaixo, tenho uma lista de nomes nas células A2 a A10 para um sorteio e quero selecionar um vencedor. Agora, para fazer isso, insiro a seguinte fórmula na célula C2, e ela escolhe aleatoriamente um vencedor:

=INDEX(A2:A10, RANDBETWEEN(1, 11))

Escolha um nome aleatório de uma lista usando a função RANDBETWEEN no Excel.

Escolha um vencedor aleatório. Imagem do autor.

Como evitar o recálculo de números aleatórios

Um problema com os números aleatórios é que eles mudam sempre que a planilha é atualizada. Se você quiser mantê-los fixos, converta-os em valores estáticos. Há duas maneiras de fazer isso:

  • Selecione o intervalo de números aleatórios e pressione Ctrl + C para copiá-los e, em seguida, clique com o botão direito do mouse e escolha Colar especial > Valores.
  • Para interromper o recálculo de números em uma célula, clique na célula e, na barra de fórmulas, pressione F9.

Entendendo os algoritmos de números aleatórios do Excel

Caso você esteja curioso para saber o que está acontecendo nos bastidores das funções de números aleatórios do Excel, vou falar um pouco sobre isso.

Desde o Excel 2010, o Microsoft Excel tem usado o algoritmo Mersenne Twister para gerar números aleatórios. Ele produz números aleatórios de alta qualidade que passam em vários testes estatísticos. Uma de suas versões mais comumente usadas é a MT19937, baseada em um tipo especial de número primo chamado Mersenne prime.

Antes do Mersenne Twister, era usado o método do quadrado médio. Ele eleva um número ao quadrado e trata o dígito do meio como um número aleatório. Embora tenha sido uma ideia inteligente na época, desenvolvida pelo gênio John von Neumann, descobriu-se que ela produzia padrões e podia até mesmo ficar presa à repetição dos mesmos números. É por isso que o Mersenne Twister o substituiu.

Considerações finais 

Você já viu diferentes maneiras de gerar números aleatórios no Excel, desde decimais simples com RAND() até números inteiros com RANDBETWEEN() e até mesmo tabelas completas de valores aleatórios com RANDARRAY().

Se você quiser saber mais sobre como lidar com dados no Excel, confira nossos cursos Preparação de dados no Excel e Visualização de dados no ExcelAlém disso, clique abaixo para ver nosso curso de Fundamentos do Excel - não é necessária experiência prévia.

Avance em sua carreira com o Excel

Adquira as habilidades para maximizar o Excel - não é necessário ter experiência.

Comece hoje gratuitamente

Laiba Siddiqui's photo
Author
Laiba Siddiqui
LinkedIn
Twitter

Sou um estrategista de conteúdo que adora simplificar tópicos complexos. Ajudei empresas como Splunk, Hackernoon e Tiiny Host a criar conteúdo envolvente e informativo para seus públicos.

Temas

Aprenda Excel com a DataCamp

curso

Data Preparation in Excel

3 hr
42.6K
Understand how to prepare Excel data through logical functions, nested formulas, lookup functions, and PivotTables.
Ver DetalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado

tutorial

As 15 fórmulas básicas do Excel que todos precisam saber

Aprenda a adicionar fórmulas aritméticas, de cadeia de caracteres, de séries temporais e complexas no Microsoft Excel.
Abid Ali Awan's photo

Abid Ali Awan

15 min

tutorial

Como calcular o desvio padrão no Excel

Para calcular o desvio padrão no Excel, insira seus dados em um intervalo de células e use =STDEV.S() para dados de amostra ou =STDEV.P() para dados de população.
Arunn Thevapalan's photo

Arunn Thevapalan

10 min

tutorial

Como fazer um VLOOKUP() com vários critérios

Domine a arte de usar VLOOKUP() com vários critérios no Excel. Explore técnicas avançadas, como colunas auxiliares e a função CHOOSE().
Laiba Siddiqui's photo

Laiba Siddiqui

10 min

tutorial

Teste de qui-quadrado em planilhas

Neste tutorial, você aprenderá a realizar o teste qui-quadrado em planilhas.
Avinash Navlani's photo

Avinash Navlani

10 min

tutorial

Leitura e importação de arquivos do Excel para o R com o readxl

Neste artigo, saiba como importar arquivos do Excel para o R com a biblioteca readxl.
Vidhi Chugh's photo

Vidhi Chugh

31 min

tutorial

Testes T no tutorial do R: Saiba como realizar testes T

Determine se há uma diferença significativa entre as médias dos dois grupos usando t.test() no R.
Abid Ali Awan's photo

Abid Ali Awan

10 min

Ver maisVer mais