Constrói uma string aleatoriamente, não repetindo

1

Não consigo encontrar uma maneira de fazer isso. Eu tenho cinco células no excel. Eu quero concatená-los em uma string aleatoriamente. Eu quero usar cada caractere de célula uma vez na string que estou construindo, então Eu acabo com uma string de cinco caracteres, sem repetições. Diga, eu tenho A1 = Y, B1 = u, C1 = 6, D1 =%, E1 = z Eu quero construir uma string que tenha cada caractere em uma ordem aleatória uY6% z ou zY% u6 são igualmente aceitáveis (et cetera)

Existe uma maneira de fazer isso?

    
por tsbarker13 20.09.2017 / 22:06

2 respostas

0

Você pode realizar um embaralhamento de Fisher-Yates em VB para aplicativos (VBA), por exemplo, usando a implementação do algoritmo exibida aqui .

Certifique-se de usar um bom gerador de números aleatórios, um criptograficamente seguro, se necessário. Randomize só é propagado pela hora do sistema, então eu não jogaria na loteria com ele.

    
por 20.09.2017 / 23:08
0

Isso parece descrever o que você quer?

link

Depois de obter a lista de números sem duplicatas, você pode usá-la para INDEX () em seus valores com CONCATENATE ().

    
por 21.09.2017 / 00:09