Cours
Les nombres aléatoires sont utilisés dans Excel pour toutes sortes de tâches telles que les simulations et les tests d'hypothèse. Dans cet article, je vais vous présenter les différentes façons de les générer. Nous commencerons par les fonctions de base telles que RAND()
et RANDBETWEEN(),
, puis nous passerons à des options plus avancées telles que RANDARRAY().
. À la fin, vous saurez exactement comment utiliser chacune de ces fonctions et comment choisir entre elles.
Aperçu des fonctions de nombres aléatoires d'Excel
Excel peut générer des nombres aléatoires sous forme de décimales simples, de nombres entiers à l'intérieur d'une plage ou même de tableaux entiers de valeurs. Examinons trois façons différentes de le faire :
Fonction RAND()
La fonction RAND()
donne une décimale aléatoire entre 0 et 1. Il s'agit d'une fonction importante ( ), c'est pourquoi nous l'avons incluse dans notre liste des 15 formules de base d'Excel que tout le monde doit connaître.
Pour générer des nombres décimaux aléatoires entre 0 et 1, entrez simplement =RAND()
dans l'une des cellules. Si vous souhaitez obtenir davantage de nombres aléatoires, faites glisser la souris pour appliquer cette formule à des lignes supplémentaires.
Générez des nombres aléatoires à l'aide de la fonction RAND(). Image par l'auteur.
Vous pouvez également utiliser la fonction RAND()
pour générer différents types de nombres, tels que
-
Des nombres aléatoires dans une fourchette spécifique: Utilisez la formule suivante :
RAND() * N
formula. Ici,N
peut être n'importe quelle valeur. -
Nombre aléatoire entre deux nombres quelconques: Utilisez la formule suivante :
RAND() * (b - a) + a.
Ici,b
est la valeur la plus élevée eta
la plus basse. Le résultat sera toujours inférieur à la valeurb
. -
Des nombres aléatoires qui sont des nombres entiers au lieu de nombres décimaux: Utilisez les formules ci-dessus et intégrez-les dans la fonction
INT()
.
=RAND()*100
=RAND()*(20-10)+10
=INT(RAND()*(20-10)+10)
Générez des nombres entiers aléatoires avec la fonction RAND(). Image par l'auteur.
Vous remarquerez que ces chiffres sont mis à jour chaque fois que j'entre de nouveaux chiffres dans la feuille. Veillez à utiliser Collage spécial > Valeurs si vous souhaitez bloquer les chiffres en place. (nous y reviendrons plus tard).
Fonction RANDBETWEEN()
RANDBETWEEN()
génère des nombres entiers aléatoires compris dans l'intervalle spécifié. Sa syntaxe est la suivante :
=RANDBETWEEN(bottom, top)
La valeur inférieure est la plus faible et la valeur supérieure est la plus élevée.
Par exemple, imaginez que je veuille générer des nombres entiers entre 10 et 20. Je peux utiliser la formule suivante :
=RANDBETWEEN(10,20)
Générez des nombres aléatoires à l'aide de RANDBETWEEN(). Image par l'auteur.
Remarquez que vous pourriez obtenir le même résultat avec =INT(RAND()*(20-10)+10)
. Mais je préfère RANDBETWEEN()
car il s'agit d'une version plus facile et améliorée de la fonction RAND()
conçue pour ce type de travail. Avec RAND(),
, je dois écrire une longue formule pour obtenir un nombre entier aléatoire entre deux valeurs. Mais avec RANDBETWEEN(),
, je peux le faire en une seule étape.
Fonction RANDARRAY()
RANDARRAY()
a été introduit dans Excel 365. Il renvoie un tableau de nombres aléatoires et nous permet de spécifier le nombre de valeurs, de lignes et de colonnes à remplir - le tout sans faire glisser la formule - et nous pouvons choisir de renvoyer des décimales ou des nombres entiers.
=RANDARRAY([rows],[columns],[min],[max],[whole_number])
Ici :
-
rows
fait référence au nombre de lignes que nous voulons remplir. -
columns
fait référence au nombre de colonnes que nous voulons remplir. -
min
spécifie le nombre le plus bas. -
max
spécifie le nombre le plus élevé. -
whole_number
prendTRUE
pour les nombres entiers etFALSE
(ou laissez vide) pour les décimales.
Voyons comment cela fonctionne dans la réalité. Supposons que je veuille générer des nombres décimaux aléatoires sur 4 colonnes et 6 lignes entre 10 et 20. Dans ce cas, ma formule serait la suivante :
=RANDARRAY(6,4,10,20)
Pour les nombres entiers, la formule serait la suivante :
=RANDARRAY(6,4,10,20,TRUE)
Ainsi, chaque fois que j'actualise la feuille de calcul, de nouveaux chiffres sont générés.
Générez des nombres aléatoires à l'aide de la fonction RANDARRAY(). Image par l'auteur.
Comparaison rapide de toutes les fonctions
Voici une comparaison rapide des trois fonctions :
Fonctionnalité | RAND() | RANDBETWEEN() | RANDARRAY() |
---|---|---|---|
Type de sortie | Décimale | Entiers compris dans un intervalle spécifié | Décimale ou entière |
Option de gamme disponible | Non | Oui | Oui |
Donne des valeurs multiples | Non | Non | Oui |
Versions disponibles | Toutes les versions (Excel 365 - 2000) | Excel 365 - 2007 | Excel 365 - 2021 |
Utilisations spécifiques du générateur de nombres aléatoires Excel
Voyons quelques exemples concrets de l'utilisation des générateurs de nombres aléatoires.
Générer des nombres aléatoires uniques
Parfois, nous voulons générer des nombres aléatoires qui ne se répètent pas. Bien qu'Excel ne dispose pas d'une fonction directe pour cela, nous pouvons combiner deux fonctions :
-
RAND()
avecRANK.EQ()
-
RANDARRAY()
avecUNIQUE()
Supposons que j'aie besoin de 10 numéros aléatoires uniques. Tout d'abord, j'applique RAND()
dans la cellule A2 pour générer des nombres aléatoires et les faire glisser vers A10. Ensuite, dans la cellule B2, comme je veux que ces nombres soient des valeurs uniques, j'introduis la formule suivante :
=RANK.EQ(A2,$A$2:$A$10)
Générez des nombres aléatoires uniques en utilisant RANK.EQ(). Image par l'auteur.
Une autre façon de procéder consiste à envelopper la fonction RANDARRAY()
dans la fonction UNIQUE()
. Ici, je génère 10 nombres aléatoires uniques entre 1 et 20 à l'aide de cette formule :
=UNIQUE(RANDARRAY(10,1,1,20,TRUE))
Générez des nombres aléatoires avec UNIQUE() et RANDARRAY(). Image par l'auteur.
Note : Tant UNIQUE()
que RANDARRAY()
ne fonctionnent que dans Excel 365 et 2021. Suivez notre cursus Excel Fundamentals pour rester à jour.
Générer des nombres avec des distributions spécifiques
Excel permet également de générer des nombres aléatoires suivant une distribution spécifique, telle qu'une distribution normale, ce qui peut s'avérer utile dans le cadre d'une simulation de type Monte Carlo. Pour ce faire, vous pouvez utiliser la fonction NORM.INV().
=NORM.INV(probability, mean, standard deviation)
Ici :
-
probability
est une décimale aléatoire comprise entre 0 et 1(RAND())
. -
mean
est la valeur moyenne autour de laquelle les chiffres doivent s'articuler. -
l'écart-type correspond à l'ampleur des fluctuations des chiffres par rapport à la moyenne.
Par exemple, je souhaite créer des notes de test aléatoires pour une classe d'étudiants et fixer la note moyenne à 75. La plupart des étudiants obtiennent 10 points (ce qui signifie que leur score est compris entre 65 et 85). J'ai donc appliqué la formule suivante à toutes les lignes :
=NORM.INV(RAND(), 75, 10)
Générez une distribution normale à l'aide de la fonction NORM.INV(). Image par l'auteur.
Anonymiser et tester les données
Nous pouvons même utiliser des nombres aléatoires pour remplacer des données sensibles (comme des numéros de compte ou de téléphone) à des fins de test ou de confidentialité des données.
Ici, j'ai une liste de numéros de compte, et je veux rendre anonymes les quatre premiers chiffres des numéros de compte, donc je les remplace par des nombres aléatoires généraux à l'aide de cette formule :
=REPLACE(A2,1,4,RANDBETWEEN(1,4))
Masquez les données sensibles par des nombres aléatoires. Image par l'auteur.
Prendre de meilleures décisions
Cela peut paraître surprenant, mais nous pouvons même utiliser des nombres aléatoires pour prendre des décisions rapides. Par exemple, si je veux choisir au hasard un gagnant dans une longue liste, je peux extraire un nom aléatoire de la plage donnée.
Ci-dessous, j'ai une liste de noms dans les cellules A2 à A10 pour un concours, et je veux sélectionner un gagnant. Pour ce faire, j'introduis la formule suivante dans la cellule C2, et le gagnant est choisi au hasard :
=INDEX(A2:A10, RANDBETWEEN(1, 11))
Choisissez un gagnant au hasard. Image par l'auteur.
Comment empêcher le recalcul des nombres aléatoires ?
Le problème des nombres aléatoires est qu'ils changent à chaque fois que la feuille est mise à jour. Si vous souhaitez les maintenir fixes, convertissez-les en valeurs statiques. Il y a deux façons de procéder :
- Sélectionnez la plage de nombres aléatoires, appuyez sur Ctrl + C pour les copier, puis cliquez avec le bouton droit de la souris et choisissez Coller spécial > Valeurs.
- Pour arrêter de recalculer les nombres dans une cellule, cliquez sur la cellule et, dans la barre de formule, appuyez sur la touche F9.
Comprendre les algorithmes de nombres aléatoires d'Excel
Si vous êtes curieux de savoir ce qui se passe sous le capot des fonctions de nombres aléatoires d'Excel, je vais vous en parler un peu.
Depuis Excel 2010, Microsoft Excel utilise l'algorithme Mersenne Twister pour générer des nombres aléatoires. Il produit des nombres aléatoires de haute qualité qui satisfont à de nombreux tests statistiques. L'une des versions les plus utilisées est MT19937, basée sur un type particulier de nombre premier appelé nombre premier de Mersenne.
Avant le Mersenne Twister, on utilisait la méthode du carré moyen. Il élève un nombre au carré et traite le chiffre du milieu comme un nombre aléatoire. Bien qu'il s'agisse d'une idée intelligente à l'époque, développée par le génie John von Neumann, on a découvert qu'elle produisait des schémas et qu'elle pouvait même se bloquer en répétant les mêmes nombres. C'est pourquoi le Mersenne Twister l'a remplacé.
Réflexions finales
Nous avons étudié différentes façons de générer des nombres aléatoires dans Excel, des simples décimales avec RAND()
aux nombres entiers avec RANDBETWEEN()
et même des tableaux complets de valeurs aléatoires avec RANDARRAY()
.
Si vous souhaitez en savoir plus sur le traitement des données dans Excel, consultez nos cours Préparation des données dans Excel et Visualisation des données dans Excel. En outre, cliquez ci-dessous pour notre cursus Excel Fundamentals - aucune expérience préalable n'est requise.
Faites progresser votre carrière avec Excel
Acquérir les compétences nécessaires pour optimiser Excel - aucune expérience n'est requise.
Je suis un stratège du contenu qui aime simplifier les sujets complexes. J'ai aidé des entreprises comme Splunk, Hackernoon et Tiiny Host à créer un contenu attrayant et informatif pour leur public.