Je veux générer une colonne qui contiendra des valeurs de chaîne aléatoires dans n'importe quel ordre. Ces valeurs doivent être issues de chaînes de caractères ('New', 'Mint', 'Very Good', 'Good', 'Acceptable', 'Poor'). Quelqu'un peut-il me dire comment je peux utiliser la fonction RANDBETWEEN
pour remplir mes colonnes avec les données mentionnées entre parenthèses ?
Réponses
Trop de publicités?Si vous n'avez que quelques cordes
Si vos chaînes de caractères sont dans la première colonne, vous pouvez utiliser la fonction CHOOSE()
comme ceci :
=CHOOSE(RANDBETWEEN(1,6),$A$1,$A$2,$A$3,$A$4,$A$5,$A$6)
RANDBETWEEN(1,6)
va choisir au hasard un numéro n de 1 à 6 - CHOOSE
compte ensuite tous les paramètres que vous avez énumérés (vos chaînes de caractères dans la colonne A) et affiche le résultat de l'opération. nième terme.
Mais, si vous avez beaucoup de cordes
Si vous avez plus de quelques articles à CHOOSE
à partir de, le maintien de cette formule devient lourd à gérer.
Dans ce cas, c'est probablement une bonne idée de insérer un tableau (appelons-le MyStrings ), créez une colonne ID dans la colonne A en utilisant =ROW()-1
et changer notre formule en une VLOOKUP
. Nous pouvons utiliser MIN
& MAX
y références structurées pour déterminer de manière dynamique le nombre de termes contenus dans votre tableau, afin de l'utiliser dans la fonction RANDBETWEEN
:
=VLOOKUP(RANDBETWEEN(MIN(MyStrings[ID]),MAX(MyStrings[ID])),MyStrings,2,0)
Attention maintenant
RANDBETWEEN
est une fonction volatile, ce qui signifie qu'elle recalcule chaque fois qu'une autre cellule change (n'importe où dans votre classeur). Si vous avez besoin de conserver les chaînes générées de manière aléatoire telles quelles une fois que vous les avez produites, vous devrez copier et coller les chaînes dans le classeur. Collage spécial en tant que valeurs .
Si vous utilisez beaucoup de fonctions volatiles, cela peut ralentir votre worbook, mais Il y a des choses que vous pouvez faire pour atténuer ce problème. .