Générer des nombres aléatoires

Cette page décrit différentes façons de générer des nombres aléatoires.

  • La formule ALEA()
  • La formule ALEA.ENTRE.BORNES()
  • Générer un nombre entre a et b par pas de k
  • Simulation d'une loi normale

La formule ALEA()

  • Syntaxe :

=ALEA()

Elle génère un nombre aléatoire entre 0 (inclus) et 1 (exclus) suivant une loi uniforme (chaque nombre a la même probabilité de tomber).

La formule ALEA.ENTRE.BORNES()

  • Syntaxe :

=ALEA.ENTRE.BORNES(Minimum;Maximum)

La formule renvoie un nombre entier aléatoire dans l'intervalle [Minimum, Maximum].
L'utilisation de cette formule requiert l'Utilitaire d'analyse. Pour activer celui-ci, aller dans Outils\Macros complémentaires et cocher la case Utilitaire d'analyse. Si vous ne souhaitez pas l'activer, la formule suivante est équivalente à ALEA.ENTRE.BORNES :

=Minimum+ENT((Maximum-Minimum+1)*ALEA())

Générer un nombre entre a et b (inclus) par pas de k

  • Syntaxe

=ENT(((b-a)/k+1)*ALEA())*k+a

  • Exemple : générer des demi-entiers compris entre 1 et 10 selon une loi uniforme

=ENT(((10-1)/0,5+1)*ALEA())*0,5+1

Simulation d'une loi normale

Les formules suivantes génèrent des nombres aléatoires suivant une loi normale de moyenne m et d'écart-type sigma.

  • Avec LOI.NORMALE.INVERSE()

=LOI.NORMALE.INVERSE(ALEA();m;sigma)

Avantage : formule simple.
Inconvénient : il y a environ 1 chance sur 10^15 que la fonction renvoie l'erreur #NOMBRE!.

  • Méthode de Box-Müller

=m+sigma*RACINE(-2*LN(1-ALEA()))*COS(2*PI()*ALEA())

Avantage : ne renvoie jamais d'erreur.
Inconvénient : formule obscure.