Faire un générateur de nombres aléatoires dans Google Sheets

Une séquence de nombres est dite statistiquement aléatoire lorsqu'elle ne contient aucun motif reconnaissable.

Dans les statistiques, le hasard peut s'avérer crucial. Par exemple, il est souvent nécessaire d'utiliser des nombres aléatoires lors de la sélection d'échantillons aléatoires, pour s'assurer que l'étude est menée sans biais.

Quel que soit votre besoin, les tableurs comme Google Sheets utilisent des techniques et des fonctions intelligentes pour générer des nombres aléatoires.

générateur de nombres aléatoires dans Google Sheets

Dans ce tutoriel, je vais vous montrer deux fonctions de Google Sheets qui permettent de générer des nombres aléatoires :

  • La fonction ALEA
  • La fonction ALEA.ENTRE.BORNES

Chaque fonction est un générateur de nombres aléatoires dans Google Sheets, mais elles diffèrent par le type d'entrée qu'elles reçoivent et le type de sortie qu'elles renvoient.

Comment utiliser un générateur de nombres aléatoires dans Google Sheets

Vous pouvez utiliser la fonction ALEA comme générateur de nombres aléatoires Google Sheets. Tout ce que vous avez à faire est de taper la formule ALEA() dans une cellule. Cette formule n'a pas d'arguments. Vous pouvez ensuite copier et coller la formule dans le reste de votre colonne en cliquant et en faisant glisser le carré bleu au coin de la cellule.

Utiliser la fonction ALEA.ENTRE.BORNES pour générer des nombres aléatoires dans Google Sheets

La fonction ALEA.ENTRE.BORNES de Google Sheets vous permet de générer des nombres entiers aléatoires dans une plage donnée (pour votre information, cette fonction fonctionne aussi dans EXCEL).

Par conséquent, elle vous permet de spécifier des limites supérieure et inférieure, puis vous donne un nombre aléatoire entre les deux entiers.

La syntaxe de la fonction ALEA.ENTRE.BORNES

La syntaxe de la fonction ALEA.ENTRE.BORNES est la suivante :

=ALEA.ENTRE.BORNES(low; high)

Comme le montre la syntaxe ci-dessus, la fonction ALEA.ENTRE.BORNES comporte deux arguments :

  • low : il s'agit d'un nombre entier qui délimite la limite inférieure de la plage. Il précise que le nombre aléatoire Google Sheets généré doit être supérieur ou égal à ce paramètre.
  • high : il s'agit d'un entier qui délimite la limite supérieure de la plage. Il spécifie que le nombre aléatoire généré doit être inférieur ou égal à ce paramètre.

Notez que les paramètres low et high doivent être des valeurs entières. Il peut s'agir d'une valeur entière numérique ou d'une référence à une cellule contenant un nombre entier.

Il va sans dire que la valeur limite inférieure doit être inférieure à la valeur limite supérieure.

Comment utiliser la fonction ALEA.ENTRE.BORNES dans Google Sheets

Utiliser la fonction ALEA.ENTRE.BORNES pour générer des nombres aléatoires est vraiment facile. Prenons un exemple concret pour voir comment cela fonctionne.

Dans cet exemple, nous allons générer cinq nombres aléatoires entre 1 et 10 :

  1. Cliquez sur une cellule dans Google Sheets où vous souhaitez insérer un nombre aléatoire.
  2. Tapez la fonction : =ALEA.ENTRE.BORNES(1; 10)
  3. Appuyez sur la touche Entrée.
  4. Cela devrait afficher un nombre entier aléatoire entre 1 et 10 dans la même cellule.
La fonction ALEA.ENTRE.BORNES
  1. Puisque nous voulons générer 5 nombres aléatoires comme celui-ci, copiez la formule dans les 4 cellules dessous (il vous suffit de tirer le coin inférieur droit de la cellule vers le bas pour recouvrir les 4 cellules du dessous).
  2. Vous devriez maintenant avoir 5 nombres générés aléatoirement entre 1 et 10.
Cinq nombres générés aléatoirement dans Google Sheets

Vous pouvez utiliser cette méthode pour générer des nombres entiers entre n'importe quelle plage de valeurs entières.

Si vous souhaitez utiliser, dans la formule, un nombre entier qui provient d'une autre cellule, vous pouvez saisir une référence à cette cellule comme suit :

ALEA.ENTRE.BORNES qui fait référence à une autre cellule

Notez que ALEA.ENTRE.BORNES et la fonction ALEA sont volatiles. Cela signifie que le résultat est recalculé chaque fois que vous effectuez une modification dans la feuille de calcul. Si vous ne souhaitez pas que ces valeurs soient recalculées, vous pouvez convertir les résultats de ces formules en valeurs fixes (statiques).

Les limites de la fonction ALEA.ENTRE.BORNES

La fonction ALEA.ENTRE.BORNES fonctionne très bien lorsque tout ce dont vous avez besoin est un groupe de nombres entiers générés de manière aléatoire. Cependant, ce n'est pas la méthode la plus fiable si vous cherchez à générer une série de nombres entiers uniques.

ALEA.ENTRE.BORNES va très probablement vous donner des résultats uniques si vous avez sélectionné une plage très large et que vous devez générer une petite quantité de nombres entiers aléatoires. Par exemple, si vous souhaitez générer 10 nombres entre 10 et 1000.

Par contre, il est difficile d'obtenir un générateur de nombres aléatoires sans répétition dans Google Sheets, en particulier avec une petite plage.

De plus, comme mentionné précédemment, cette fonction ne renvoie que des nombres entiers. Donc, si vous voulez des nombres aléatoires avec des décimales, la fonction ALEA.ENTRE.BORNES ne vous sera pas vraiment utile.

Vous pouvez cependant utiliser la fonction ALEA.

Utiliser la fonction ALEA pour générer des nombres aléatoires dans Google Sheets

La fonction ALEA de Google Sheets vous permet de générer des nombres décimaux aléatoires entre 0 et 1. La plage inclut le 0 et exclut le 1. En d'autres termes, vous pouvez faire en sorte que Google Sheets génère des nombres aléatoires supérieurs ou égaux à 0 et inférieurs à 1.

La syntaxe de la fonction ALEA

La syntaxe de la fonction ALEA est la suivante :

=ALEA()

Comme le montre la syntaxe ci-dessus, la fonction ALEA ne contient aucun argument.

Comment utiliser la fonction ALEA dans Google Sheets

Utiliser la fonction ALEA pour générer des nombres aléatoires est vraiment facile. Je prends un exemple pour vous montrer comment cela fonctionne.

Dans cet exemple, je vais générer cinq nombres aléatoires entre 0 et 1 :

  1. Cliquez sur une cellule dans Google Sheets où vous souhaitez insérer un nombre aléatoire.
  2. Tapez la fonction : =ALEA()
  3. Appuyez sur la touche "Entrée" de votre clavier.
  4. Cela va afficher un nombre aléatoire avec des décimales entre 0 et 1 dans la même cellule.
Fonction ALEA dans Google Sheets
  1. Vous pouvez soit arrondir le nombre au nombre de décimales que vous souhaitez, ou changer la mise en forme de la cellule pour afficher le nombre de décimales que vous souhaitez.
Arrondir ALEA à 2 décimales
  1. Puisque nous voulons générer 5 nombres aléatoires, il vous suffit simplement de glisser la poignée de recopie (située dans le coin inférieur droit de la cellule) jusqu'à ce que vous atteigniez la cinquième cellule.
  2. Vous avez maintenant 5 nombres décimaux générés aléatoirement entre 0 et 1.
Nombres aléatoires décimaux

Bien que la fonction ALEA ne génère que des nombres avec des décimales entre 0 et 1, vous pouvez modifier la formule pour générer à la fois des nombres avec des décimales et des nombres entiers dans n'importe quelle plage prédéfinie : il suffit d'un peu de créativité (je vous explique ça tout de suite).

Par exemple, si vous souhaitez que Google Sheets génère des nombres aléatoires entre 1 et 10, vous pouvez modifier la formule ALEA d'origine comme suit :

=ALEA() * (10 - 1) + 1

En fait, vous pouvez utiliser la fonction ALEA pour générer des nombres dans n'importe quelle plage en généralisant la formule ci-dessus comme suit :

=ALEA() * (limite_supérieure – limite_inférieure) + limite_inférieure

où limite_supérieure est la valeur maximale de votre plage requise et limite_inférieure est la valeur minimale.

ALEA avec limite supérieure et inférieure

Si vous souhaitez générer des nombres entiers entre 1 et 10 au lieu de décimales, il vous suffit d'entourer la formule ci-dessus dans une fonction TRONQUE comme suit :

=TRONQUE(ALEA() * (limite_supérieure – limite_inférieure) + limite_inférieure)

Donc, si vous souhaitez générer des nombres entiers aléatoires entre 1 et 10, votre formule est la suivante :

=TRONQUE(ALEA() * (10 - 1) + 1)

Tronquer le résultat de la fonction ALEA

Comme on peut le voir (et contrairement à ce qu'on pourrait penser), la fonction ALEA est une fonction beaucoup plus polyvalente que ALEA.ENTRE.BORNES.

De plus, puisque la fonction ALEA utilise la plage de 0 à 1, il y a une bonne probabilité que les nombres générés par celle-ci ne se répètent pas souvent.

Comment créer des tableaux aléatoires (fonction RANDARRAY)

Vous pouvez également créer un générateur de nombres aléatoires dans Google Sheets pour les tableaux en utilisant la fonction RANDARRAY. La fonction ALEA n'a pas d'arguments, mais une fois que vous ajoutez un tableau, il faut utiliser deux arguments. La syntaxe de la fonction RANDARRAY est la suivante :

RANDARRAY([lignes]; [colonnes])

Lignes : le nombre de lignes à remplir avec des valeurs aléatoires.

Colonnes : le nombre de colonnes à remplir avec des valeurs aléatoires.

Regardons l'exemple ci-dessous :

Capture d'écran d'un exemple avec la fonction RANDARRAY

En utilisant la formule RANDARRAY(8;2) nous avons rempli 8 lignes et 2 colonnes avec des nombres générés aléatoirement.

Comment créer un bouton pour générer des nombres aléatoires dans Google Sheets

Malheureusement, il n'existe actuellement aucun bouton pour générer des nombres aléatoires dans Google Sheets. Cependant, vous pouvez en créer un à l'aide des scripts dans Google Apps Script. J'ai trouvé un script que j'ai adapté pour la version française et qui vous permet de créer un bouton pour générer des nombres aléatoires :

function bouton() {
  const ss = SpreadsheetApp.getActive();
  const sh = ss.getActiveSheet();
  const rf = sh.getRange('A2').getValue();
  const rn = Math.floor(Math.random() * rf) + 1 ;
//const rn = Math.random() * rf + 1; //si vous voulez un nombre aléatoire
  sh.getRange('B2').setValue(rn);
  SpreadsheetApp.flush();
}

Voici comment créer un générateur de nombre aléatoire dans Google Sheets à l'aide de Apps Script :

  1. Attribuez la limite du nombre aléatoire dans la cellule A2. Dans notre exemple, nous avons utilisé 100.
  2. Accédez à Extensions > Apps Script
Cliquez sur Extensions puis Apps Script
  1. Collez le script dans la fenêtre de script de l'Apps Script
Collez le script dans la fenêtre de script de l'Apps Script
  1. Cliquez sur Enregistrer, puis sur Exécuter.
  2. Retournez dans votre feuille de calcul et insérez une image dans Google Sheets. Vous pouvez le faire par un copier-coller
Accédez à votre feuille de calcul et insérez une image
  1. Cliquez sur l’image, puis sur les trois points dans le coin supérieur droit de l’image et choisissez “Assigner le script”
Cliquez avec le bouton droit sur l'image et choisissez Assigner le script
  1. Écrivez le nom du script, qui est le nom du « bouton » de la fonction, puis cliquez sur OK
Écrivez le nom du script qui est le nom de la fonction bouton et cliquez sur OK

Si vous cliquez sur l'image, un nombre sera généré aléatoirement dans la cellule B2. Chaque fois que vous cliquez sur l'image, elle va générer un nombre aléatoire différent inférieur à 100.

Capture d'écran du bouton pour générer des nombres aléatoires

Différences entre ALEA et ALEA.ENTRE.BORNES

Pour résumer, passons en revue les principales différences entre ALEA et ALEA.ENTRE.BORNES :

  • ALEA.ENTRE.BORNES se compose de deux arguments qui précisent la plage dans laquelle vous voulez que le nombre aléatoire soit généré. La fonction ALEA, en revanche, ne contient aucun argument : elle peut générer n'importe quel nombre entre 0 et 1.
  • La fonction ALEA.ENTRE.BORNES génère un nombre entier, tandis que ALEA génère un nombre décimal aléatoire.
  • Si la plage est petite, ALEA.ENTRE.BORNES est susceptible de générer moins de nombres aléatoires uniques que la fonction ALEA.

Fréquence de mise à jour de ALEA et ALEA.ENTRE.BORNES

ALEA et ALEA.ENTRE.BORNES sont des fonctions volatiles. Cela signifie que le nombre généré par ces deux fonctions ne reste pas longtemps affiché.

Ces 2 fonctions calculent une nouvelle valeur chaque fois qu'il y a un changement dans la feuille ou à chaque fois que la feuille Google Sheets est ouverte.

Par conséquent, toute formule qui utilise les nombres générés par ALEA ou ALEA.ENTRE.BORNES est également recalculée à chaque fois.

Pour modifier la fréquence des calculs, voici la procédure à suivre :

  1. Cliquez sur le menu Fichier
  2. Sélectionnez Paramètres de la feuille de calcul
  3. Dans la boîte de dialogue qui apparaît, sélectionnez l'onglet "Calcul"
  4. Cliquez sur le menu déroulant sous "Nouveau calcul" et sélectionnez la fréquence à laquelle vous souhaitez que la fonction soit calculée (en plus de l'option "après une modification", cela peut être toutes les minutes ou toutes les heures)
Paramètre de calcul dans Google Sheets

Conclusion sur le générateur de nombres aléatoires dans Google Sheets

Dans ce tutoriel, je vous ai montré comment utiliser deux types de fonctions qui peuvent être utilisées comme générateur de nombres aléatoires dans Google Sheets : les fonctions ALEA et ALEA.ENTRE.BORNES.

Je vous ai également expliqué les différences fondamentales entre ces deux options et comment vous pouvez appliquer ces fonctions à vos feuilles de calcul. J'espère que mes conseils et ce tutoriel vous seront utiles.

Je vous encourage à parcourir TopSheets.fr pour découvrir d'autres conseils qui vont vous faire progresser dans l'utilisation de Google Sheets.