Comment obtenir des nombres aléatoires par formule sur Excel
Dans ce tutoriel, je vais vous montrer comment générer des nombres aléatoires sur Excel en utilisant des formules. Nous verrons pour cela plusieurs exemples concrets : tirages aléatoires, tirages aléatoires bornés par un minimum et un maximum, et enfin l'aboutissement de ce tutoriel nous amènera à générer des nombres aléatoires uniques.
Pour suivre cet article dans les meilleures conditions, je vous invite à télécharger le fichier en suivant le lien disponible ci-dessous :
Téléchargement
Vous pouvez télécharger le fichier d'exemple de cet article en cliquant sur le lien suivant :
1. Génération de nombres purement aléatoires
Pour générer un nombre tout à fait aléatoire sur Excel, il suffit d’utiliser la formule ALEA() que nous découvert dans un article précèdent.
Pour rappel, cette formule permet de générer un nombre aléatoire supérieur ou égal à zéro et strictement inférieur à 1. Ce nombre s’actualise à nouveau lors de chaque recalcul de la feuille (par exemple en appuyant sur la touche F9 du clavier), pour en conserver les valeurs, il faut alors effectuer un copier/collage spécial :
=ALEA()
La formule ALEA() s’utilise très simplement sans nécessiter de paramètres.
En revanche, lorsque l’on souhaite borner les nombres à générer, il est nécessaire complexifier légèrement son usage pour l’intégrer au sein d’un calcul, comme nous allons le voir à présent.
2. Tirage aléatoire de nombres décimaux compris en 0 et 10
La formule ALEA() nous retourne un nombre aléatoire compris entre 0 et 1 avec un très grand nombre de décimales derrière la virgule (jusqu’à 15 chiffres).
Pour obtenir un nombre compris entre 0 et 10, il suffit de donc de multiplier ce nombre par 10 :
=ALEA()*10
3. Tirage aléatoire de nombres entiers compris en 0 et 100
Comme nous venons de le voir, pour obtenir un nombre aléatoire compris entre 0 et 100, nous allons simplement multiplier le résultat obtenu par la formule ALEA() par 100.
Ensuite, pour n’en conserver que la partie entière, nous insérons ce produit en tant que paramètre de la formule ENT().
La formule ENT() permet en effet d’arrondir un nombre à son entier inférieur (équivalent aux formules TRONQUE() ou ARRONDI.INF() avec un nombre de décimales à zéro).
=ENT(ALEA()*100)
4. Tirage aléatoire de nombres entiers compris en 5000 et 7000
Pour générer des nombres aléatoires compris entre deux bornes, et pour lesquels la borne minimum est différente de zéro, la formule à utiliser est la suivante :
=ENT(ALEA()*(borneMax-borneMin))+borneMin
Ce qui donne pour notre exemple :
=ENT(ALEA()*2000)+5000
Bien que facilement compréhensible, cette formule se révèle toutefois fastidieuse à utiliser. Heureusement les techniciens de chez Microsoft sont une fois de plus là pour nous simplifier la tâche, et ont bien entendu pensé à une formule : ALEA.ENTRE.BORNES(min;max) :
=ALEA.ENTRE.BORNES(5000;7000)
5. Des nombres aléatoires ET uniques
Maintenant que nous avons comment vu comment utiliser des formules pour générer des nombres aléatoires, voyons une petite astuce qui va nous permettre de générer des nombres toujours aléatoires, mais cette qui seront également uniques (nombres aléatoires sans doublons).
Pour cela, nous allons utiliser une seconde colonne avec la formule EQUATION.RANG(), ou la formule RANG() sur les anciennes versions d’Excel afin de déterminer un classement des cellules pour lesquelles des nombres aléatoires ont déjà été générés :
=EQUATION.RANG(J7;$J$7:$J$12)
De cette manière, nous obtenons des chiffres aléatoires compris entre 1 et 6.