Notifications
Clear all

Distribuição aleatória de todos os dados e sem duplicação

3 Posts
2 Usuários
0 Reactions
1,035 Visualizações
OrlandoS
(@orlandos)
Posts: 104
Estimable Member
Topic starter
 

.
Olá, pessoal!

Pesquisando aqui e na internet, a maioria dos tópicos apresentados direcionam para o uso das funções Aleatório() ou Aleatórioentre().
Analisando essas funções, cheguei à conclusão de que elas servem para sortear em um intervalo especificado na própria função ou
fora dela um ou mais dados, neste caso, repetindo informação.

Observando a tabela-modelo anexa e links abaixo, eu gostaria de fazer uma cópia de todos os dados da coluna A aleatoriamente para a coluna C,
sem duplicação e nas seguintes condições:

APÓS TECLAR F9:
1 - MUDAR DE BAIRRO, conservando na mudança a mesma quantidade máxima e disponível para moradores;
2 - SEM REPETIÇÃO DE NOMES na mudança de bairros; e
3 - DISTRIBUIR TODOS OS NOMES, dando preferência à mudança para um novo bairro.


https://www.sendspace.com/file/nctaj2
http://www.4shared.com/file/ntXLluvJce/ ... airro.html

Grato pela atenção!
Orlando Souza

:geek:

PS: Se a resposta foi útil, clique na "mãozinha positiva" ou em "curtir" na fonte de link informada, agradecendo ao colaborador do código/fórmula. Eu já fiz a minha parte! :]

 
Postado : 24/04/2016 3:20 pm
(@tsa-xlsx)
Posts: 55
Trusted Member
 

Amigo, realmente, as funções são essas mesmas.

Porém, para não se ter repetição, é preciso combinar a função ALEATÓRIOENTRE() com a função MAIOR(), e fazer alguns ajustes.

Veja no anexo.

Eu só não entendi se você queria randomizar todo mundo, ou se queria randomizar por bairro, mas creio que você pode ajustar conforme precisar.

Abs.
Espero ter ajudado.

Todos que ajudaram ou tentaram ajudar estão com boa vontade fazendo isso de graça.
Por isso, seja educado, ajude-os a te ajudar, e sempre clique na mãozinha para agradecer.

 
Postado : 25/04/2016 4:47 pm
OrlandoS
(@orlandos)
Posts: 104
Estimable Member
Topic starter
 

.
C2 =ÍNDICE($A$2:$A$18;ALEATÓRIOENTRE(1;CONT.VALORES($A$2:$A$18)))
C3:C18 =ÍNDICE($A$2:$A$18;MAIOR(NÃO(ÉNÚM(CORRESP($A$2:$A$18;$C$2:C2;0)))*LIN($1:$17);ALEATÓRIOENTRE(1;LINS($2:$18)-LINS($2:2)))) Ctrl+Shift+Enter

:roll:
o/ Perfeito!!
Obrigado, amigo!
É randomizar todo mundo, mesmo.

Acho que não é possível ajustar para randomizar
começando por bairro diverso àquele onde antes se
encontravam na coluna A.
Seria o caso de começar distribuindo na coluna C
para correspondente bairro diferente na coluna B,
usando uma referência dentro da fórmula.

Aquela sugestão já satisfaz o título deste tópico. 8-)

Antes de ler a resposta, tentei as funções abaixo.
Mas, admito que a sugestão anterior é bem melhor.

PS: Se a resposta foi útil, clique na "mãozinha positiva" ou em "curtir" na fonte de link informada, agradecendo ao colaborador do código/fórmula. Eu já fiz a minha parte! :]

 
Postado : 25/04/2016 7:22 pm