Comment sélectionner aléatoirement N nombres dans une colonne sur Google Sheets

Imaginez-vous être dans une situation où vous devez sélectionner aléatoirement N nombres dans une colonne. Mais quelle est la solution ? Sur Google Sheets, vous pouvez utiliser ma formule pour choisir un ensemble de nombres ou de noms aléatoires dans une colonne. Cette formule fonctionne aussi bien pour les nombres que pour les noms, voire même les dates.

Vous trouverez très utile la formule de sélection aléatoire ci-dessous. Grâce à ma formule, vous pouvez réaliser les actions suivantes, et bien plus encore :

  1. Sélectionner un groupe de joueurs au hasard.
  2. Choisir aléatoirement des étudiants pour différentes divisions.
  3. Sélectionner N gagnants dans une loterie.
  4. Exclure aléatoirement des personnes en excès lorsque vous avez une limite de quota.

La formule pour sélectionner aléatoirement N nombres dans une colonne sur Google Sheets

Je vais vous montrer comment utiliser cette formule pour sélectionner aléatoirement N nombres ou N noms dans une colonne sur Google Sheets. Vous devez effectuer deux modifications dans la formule en fonction de vos besoins.

Formule maîtresse :

=ArrayFormula(Array_Constrain(vlookup(Query({ROW(A1:A20),randbetween(row(A1:A20)^0,9^9)},"Select Col1 order by Col2 Asc"),{row(A1:A20),A1:A20},2,FALSE),10,1))

Quels sont ces changements ?

  1. La formule ci-dessus est pour la plage A1:A20. Par exemple, si vous souhaitez utiliser cette formule dans une liste plus importante de 400 lignes, modifiez la plage dans la formule de A1:A20 à A1:A400.
  2. Cette formule maîtresse sélectionne aléatoirement 10 nombres ou noms dans la colonne A. Le nombre 10 à la fin de la formule indique le nombre de nombres ou de noms aléatoires à retourner. Vous pouvez modifier ce nombre.

Par exemple, si votre plage est A1:A100 et que vous définissez le nombre mentionné ci-dessus à 50, la formule retournera 50 noms ou nombres aléatoires. Si vous le définissez à 100, elle mélangera simplement vos valeurs dans la plage A1:A100 et retournera tous les cent nombres ou noms.

Exemple : sélectionner 10 noms aléatoires parmi 20 noms

La formule ci-dessus dans la cellule C1 a sélectionné aléatoirement 10 noms dans la colonne A.

Explication de la formule

Cette section est utile si vous souhaitez savoir comment la formule maîtresse ci-dessus sélectionne « N » nombres d’éléments aléatoires sur Google Sheets.

Note : Vous pouvez apprendre une formule complexe en regardant la partie centrale de celle-ci. Toute formule imbriquée dans une feuille de calcul se développe généralement à partir de la partie centrale. J’utilise cette méthode pour vous expliquer la formule ci-dessus.

Il est indéniable que nous ne pouvons pas sélectionner de noms ou de nombres aléatoires dans Google Sheets sans utiliser les fonctions RANDARRAY, RANDBETWEEN ou RAND. Dans la formule ci-dessus, j’ai utilisé la fonction RANDBETWEEN.

RANDBETWEEN(BAS, HAUT)

Supposons que votre valeur « bas » soit 1 et votre valeur « haut » soit 20. Cette fonction renverra un nombre aléatoire entre 1 et 20, les deux nombres inclus.

Dans mon cas, je souhaite générer 20 nombres aléatoires. Est-ce possible ? Par défaut, il n’y a pas d’option à ce sujet. Mais vous pouvez modifier la formule RANDBETWEEN comme suit.

La première approche :

=ArrayFormula(randbetween(row(A1:A20)^0,9^9)

Ici, nous appliquons une pratique courante suivie par tous les experts de Google Sheets. Il s’agit de fournir l’argument « bas » avec la fonction ROW =ArrayFormula(row(A1:A20)), qui renvoie les nombres (non aléatoires) de 1 à 20. Comme j’ai choisi 0 comme puissance (^0), la formule renvoie le nombre 1, 20 fois.

La valeur « haut » est définie à 9^9, ce qui équivaut à 387420489.

Ainsi, la formule exemple ci-dessus renverra 20 nombres aléatoires uniques entre 1 et 9^9.

Je peux utiliser n’importe quel nombre comme 100, 200, etc. au lieu de 9^9 dans la formule RANDBETWEEN en tant qu’argument « haut ». Mais un nombre élevé peut garantir que la formule ne renvoie pas de valeurs en double.

La sortie de la formule RANDBETWEEN ci-dessus serait quelque chose comme suit (les nombres ne seront pas les mêmes).

La deuxième approche :

Ici, nous ajoutons des fonctions supplémentaires à la formule « breakup 1 ».

=ArrayFormula(Query({ROW(A1:A20),randbetween(row(A1:A20)^0,9^9)},"Select Col1 order by Col2 Asc"))

En réalité, je ne veux pas obtenir les nombres générés ci-dessus (veuillez consulter la capture d’écran). Ce que je veux, c’est générer un ensemble de nombres aléatoires entre 1 et 20. Pour cela, j’ai créé virtuellement un tableau à deux colonnes.

Regardez la formule « breakup 2 » ci-dessus. La première colonne est la série de nombres de 1 à 20 renvoyée par la fonction ROW, et la deuxième colonne est l’ensemble de 20 nombres renvoyés par la formule « breakup 1 ».

Ces colonnes sont utilisées comme plage dans la requête, et la colonne 1 est triée en fonction de la colonne 2, puis la sortie de la colonne est limitée à 1.

La formule Query fait cette partie. J’obtiens ainsi une colonne avec des nombres aléatoires de 1 à 20, c’est-à-dire les nombres de 1 à 20 dans un ordre aléatoire.

La troisième approche :

La formule ci-dessous est la combinaison des formules « breakup 1 » et « breakup 2 » ci-dessus.

=ArrayFormula(vlookup(Query({ROW(A1:A20),randbetween(row(A1:A20)^0,9^9)},"Select Col1 order by Col2 Asc"),{row(A1:A20),A1:A20},2,FALSE))

Cette formule utilise Vlookup pour choisir des noms aléatoires dans la colonne A, ce qui est notre objectif.

VLOOKUP(CLE_DE_RECHERCHE, PLAGE, INDEX, [TRIE])

Ici, la clé de recherche est la formule « breakup 2 » ci-dessus, qui génère des nombres aléatoires de 1 à 20.

La plage devrait être notre liste de noms dans A1:A20. Mais nous ne pouvons pas l’utiliser car notre clé de recherche est constituée de nombres aléatoires de 1 à 20.

Ici encore, j’ai généré un tableau à deux colonnes. La première colonne est la liste des numéros de ligne de 1 à 20, et la deuxième colonne est celle des valeurs réelles (noms) dans la colonne A1:A20.

L’index de colonne est 2 dans la fonction Vlookup. Ainsi, la fonction Vlookup utilisera la clé de recherche (nombres aléatoires de 1 à 20) pour rechercher la première colonne dans la plage (nombres de 1 à 20 dans l’ordre) et renvoyer les noms de la colonne 2 si une correspondance est trouvée.

Vous pouvez envelopper cette formule avec la fonction Array_Constrain pour obtenir le nombre total de noms aléatoires en fonction du nombre souhaité, ici 10. C’est ce que j’ai fait dans ma formule finale.

Et voilà. Chaque fois que vous souhaitez sélectionner des noms ou des nombres aléatoires, utilisez ma formule. J’espère également que vous avez pu apprendre les étapes pour générer la formule qui sélectionne aléatoirement N nombres dans une colonne sur Google Sheets.

Découvrez encore plus de conseils et d’astuces sur les feuilles de calcul Google sur Crawlan.com.

Articles en lien