Como gerar uma string aleatória de um conjunto de strings disponíveis no Excel?

7

Eu quero gerar uma coluna que terá valores de string aleatórios em qualquer ordem. Esses valores de string devem ser de ('New', 'Mint', 'Very Good', 'Good', 'Acceptable', 'Poor') strings? Alguém pode me informar sobre como posso usar a função RANDBETWEEN para preencher minhas colunas com os dados mencionados entre colchetes?

    
por Ashutosh 12.11.2015 / 16:45

2 respostas

12

Se você tiver apenas algumas strings

Se suas strings estiverem na primeira coluna, você poderá usar a função CHOOSE() assim:

=CHOOSE(RANDBETWEEN(1,6),$A$1,$A$2,$A$3,$A$4,$A$5,$A$6)

RANDBETWEEN(1,6) irá escolher aleatoriamente um número n de 1 a 6 - CHOOSE então conta todos os parâmetros que você listou (suas seqüências na coluna A) e exibe o nth prazo.

Mas,sevocêtivermuitasstrings

SevocêtivermaisdoquealgunsitensparaCHOOSE,manteressafórmulasetornadifícil.

Nessecaso,éprovavelmenteumaboaideia inserir uma tabela (vamos chamá-la MyStrings ), crie uma coluna de ID na coluna A usando =ROW()-1 e mude nossa fórmula para VLOOKUP . Podemos usar MIN & MAX e referências estruturadas para determinar dinamicamente quantos termos existem na sua tabela, para uso no RANDBETWEEN :

=VLOOKUP(RANDBETWEEN(MIN(MyStrings[ID]),MAX(MyStrings[ID])),MyStrings,2,0)

Cuidadoagora

RANDBETWEENéumafunçãovolátil,oquesignificaqueelarecalculatodavezquequalqueroutracélulamuda(emqualquerlugarnapastadetrabalho).Sevocêprecisarmanterasstringsgeradasaleatoriamentecomosãodepoisdeproduzi-las,seránecessáriocopiare Colar especial como valores .

Se você usa muitas funções voláteis, pode diminuir o seu worbook, mas há coisas que você pode fazer para aliviar isso .

    
por 12.11.2015 / 16:50
8

Você pode usar INDEX junto com RANDBETWEEN para fazer isso.

=INDEX({"New","Mint","Very Good","Good","Acceptable","Poor"},RANDBETWEEN(1,6))

Basta preencher esta fórmula na sua coluna.

    
por 12.11.2015 / 16:54