VÍDEOS MAIS ASSISTIDOS

 

Pesquisar

domingo, 3 de março de 2013

Sorteio sem Repetição


Uma dúvida de muitas pessoas que precisam fazer sorteios no Excel é: como fazer um sorteio SEM repetição?


O Excel não tem uma função que gere números aleatórios sem repetição, então precisamos montar alguns cálculos para evitarmos que isto aconteça.
Vamos lá:
  • A função ALEATÓRIOENTRE

Este função do Excel gera números aleatórios entre dois valores quaisquer. Sua diferença entre a função aleatório é que nesta, ele gera números entre 0 e 1.
Sua sintaxe é: =ALEATÓRIOENTRE(NUMERO INICIAL;NÚMERO FINAL), no exemplo abaixo, geramos valores entre 1 e 50 (a função ficou aleatórioentre(1;50)). Note que, mesmo usando 50 células, ele repete vários números, então, se quisermos gerar valores sem repetição, precisaremos fazer alguns ajustes.

 A lista do sorteio:

Vamos imaginar que queiramos sortear pessoas em certa ordem, como abaixo:
Queremos sortear estes nomes , sem repetição.
Se fôssemos usar a função ALEATÓRIOENTRE, ela poderia repetir alguns valores entre 1 e 12.
Uma alternativa para evitar isto é fazer com que, mesmo que a função gere um número igual, seu resultado seja diferente.
Usarmos duas vezes esta função pode minimizar a chance de dar repetido, mas ainda assim ele pode ocorrer.
Então, que tal somarmos ao resultado da função um valor relacionado à linha, ou código da pessoa? Porque mesmo que o resultado da função seja repetido, ao se somar a linha/posição ele fica diferente, já que cada posição é única.
E para evitar que a soma dos dois valores seja repetido, isto é, a função dar 8 e a linha ser 3 e em outro caso a função dar 3 a linha ser 8, vamos somar ao resultado do aleatórioentre a fração que representa a linha/posição no total de nomes disponíveis.
Veja como ficará nossa função (o arquivo original está aqui):
Assim, como o resultado do ALEATÓRIOENTRE sempre é um numero inteiro, caso tenhamos 2 números iguais, eles se diferenciarão pelo decimal.

E agora, como listar as pessoas? Usando a função ORDEM.

Como temos 12 números diferentes, precisamos classifica-los, isto é, saber qual é o 1º, qual o 2º, etc.
Quem faz isto é a função ORDEM. Sua sintaxe é ORDEM(numero a classificar;lista de valores)
Veja em nossa planilha:
Teremos, então a posição de cada valor numa escala de 1 a 12.
Agora, basta usarmos a função PROCV para poder nos trazer o nome correspondente a aquela posição. Veja:
Uma resposta seria:
IMPORTANTE: a cada vez que você apertar F9, ou fizer algum cálculo, ele irá gerar um novo sorteio. Por isso, se quiser preservar o primeiro sorteio, copie e cole os valores do resultado, caso contrário eles mudarão.


Um comentário:

  1. Bom dia, vou tentar explicar a minha dúvida.

    Eu fiz uma planilha de sorteio de vagas de garagem rotativa.
    As regras dos sorteios são essas:

    1º - O sorteio será mensal, com isso os contemplados usufruirão das vagas por apenas 1 mês.

    2º - Quem já foi sorteado, não pode concorrer nos meses subsequentes, justamente para dar a chance a todos que estão concorrendo.

    3º - Serão sorteados 26 vagas.

    4º - Quem já foi contemplado, só poderá concorrer novamente a uma vaga, depois de todos já terem sido contemplados.

    Situação atual dos sorteios
    120 participantes (podendo aumentar a cada mês)
    26 vagas disponíveis

    Dúvida:
    Como faço para sortear de uma só vez as 26 vagas. Considerando que esse sorteio se refere ao mês de Janeiro, então no próximo sorteio (fevereiro), os 26 contemplados no mês anterior, terão que ser descartados desse novo sorteio.

    Obrigado pela atenção

    Luiz Eduardo

    ResponderExcluir