terça-feira, 28 de agosto de 2012

Sorteio sem Repetição

Uma dúvida de muitas pessoas, inclusive meu colega de trabalho o Zé Lucio, 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

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.

Nenhum comentário:

Postar um comentário