Básico
Suponha que você queira gerar uma string de comprimento aleatório (1-8 caracteres) a partir de alfabetos minúsculos (a-z).
=LEFT( CHAR(RAND()*26+97) & CHAR(RAND()*26+97) &
CHAR(RAND()*26+97) & CHAR(RAND()*26+97) &
CHAR(RAND()*26+97) & CHAR(RAND()*26+97) &
CHAR(RAND()*26+97) & CHAR(RAND()*26+97),
RAND()*8+1)
Cada CHAR(...)
gera um alfabeto aleatório em minúsculas.
Para usar letras maiúsculas (A a Z) em vez de minúsculas, você pode substituir CHAR(RAND()*26+97)
por CHAR(RAND()*26+65)
. Porque o código ASCII de A-Z é 65-90 e o código ASCII de a-z é 97-122.
Para simplificar a fórmula, você pode usar RANDBETWEEN()
de < a href="http://office.microsoft.com/en-gb/excel-help/load-the-analysis-toolpak-HP001127724.aspx"> Ferramentas de análise para substituir RAND()*xx+yy
.
Avançado
Suponha que você queira gerar uma string de comprimento aleatório (1-8 caracteres) de caracteres específicos.
Você pode inserir os caracteres desejados na célula A1 , por exemplo:
abcdefghijklmnopqrstuvwxyz1234567890!@#$%^&*()
Então,
=LEFT( MID($A$1,RAND()*LEN($A$1)+1,1) & MID($A$1,RAND()*LEN($A$1)+1,1) &
MID($A$1,RAND()*LEN($A$1)+1,1) & MID($A$1,RAND()*LEN($A$1)+1,1) &
MID($A$1,RAND()*LEN($A$1)+1,1) & MID($A$1,RAND()*LEN($A$1)+1,1) &
MID($A$1,RAND()*LEN($A$1)+1,1) & MID($A$1,RAND()*LEN($A$1)+1,1),
RAND()*8+1)
Cada MID(...)
recebe 1 caractere aleatório de A1.