Taille de police :

×

Lecture de la page :

Lire Test2

Générer des nombres aléatoires

0
(0)

Fonction ALEA()

Renvoie un nombre décimal entre 0 et 1 pouvant avoir jusqu'à 15 décimales (limite d'Excel).
Un nouveau nombre réel aléatoire est renvoyé chaque fois que la feuille de calcul est recalculée.

Syntaxe

= ALEA()

Aucun argument.

Utilisation

Pour obtenir un nombre entier entre 0 et 99, il suffit de d'utiliser :

= ENT(ALEA()*100)

Pour obtenir un nombre entier entre 10 et 60, on va d'utiliser :

= ENT( ALEA() * (Valeur Max - Valeur min + 1)) + Valeur Min

soit

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

Depuis de nombreuse versions, Excel met à notre disposition la fonction ALEA.ENTRE.BORNES pour obtenir ce résultat.

Fonction ALEA.ENTRE.BORNES()

Renvoie un nombre entier aléatoire compris entre 2 valeurs spécifiées (Versions >2013).
Un nouveau nombre entier aléatoire est renvoyé chaque fois que la feuille de calcul est recalculée.

Syntaxe

= ALEA.ENTRE.BORNES(Min;Max)

  • Min : Valeur minimale pouvant être générée.
  • Max : Valeur maximale pouvant être générée.

Utilisation

Pour obtenir un nombre entier entre 10 et 60, on va d'utiliser :

=ALEA.ENTRE.BORNES(10;60)

Fonction TABLEAU.ALEA()

Renvoie un tableau de nombres aléatoires (Versions > 2016).
Un nouveau tableau de nombres aléatoires est renvoyé chaque fois que la feuille de calcul est recalculée.

Fonction intéressante avec l'utilisation des tableau dynamique (Voir Formules de tableaux dynamiques, une nouvelle logique de conception).

Syntaxe

=TABLEAU.ALEA([Lignes] ; [Colonnes] ; [Min]; [Max] ; [Entier])

  • Lignes : (Facultatif) Nombre entier de lignes du tableau à générer (par défaut 1).
  • Colonnes : (Facultatif) Nombre entier de colonne du tableau à générer (par défaut 1).
  • Min : (Facultatif) Valeur minimale pouvant être générée.
  • Max : (Facultatif) Valeur maximale pouvant être générée.
  • Entier : (Facultatif : True/False)
    • VRAI : Génération de nombres entiers.
    • FAUX ou omis : Génération de nombres décimales (=avec virgule).

Utilisation

Génération d'un tableau de 2 lignes et 3 colonnes de nombres entiers entre 10 et 60.

=TABLEAU.ALEA(2;3;10;60;VRAI)

Générer des nombres aléatoires uniques dispersés

Avec les fonctions précédentes (ALEA, ALEA.ENTRE.BORNES, TABLEAU.ALEA) , on peut obtenir plusieurs fois la même valeur. Cett fois, on veut obtenir 10 valeurs uniques entre 0 et 50.

(en colonne) = LET(n;10;PRENDRE(UNIQUE(TABLEAU.ALEA(4*n;1;0;50;VRAI));n))
(en ligne)   = LET(n;10;PRENDRE(UNIQUE(TABLEAU.ALEA(1;4*n;0;50;VRAI));;n))

Exemple de résultat : 11 ; 38 ; 18 ; 17 ; 0 ; 16 ; 6 ; 0 ; 6 ; 16.

Principe

  • On va générer beaucoup plus de nombres aléatoires que nécessaire (ici 4 fois plus=>4*n), on retire les doublons (UNIQUE) en espérant qu'il en reste assez 😁. Puis on ne conserve que les 10 premiers (PRENDRE).

Générer une suite de nombres se suivant en ordre aléatoire

On veut obtenir les 5 chiffres de 1 à 5 selon un ordre aléatoire.

(en colonne) = LET(n;5;
                   s;SEQUENCE(n);
                   m;TABLEAU.ALEA(n);
                   TRIERPAR(s;m))
(en ligne)   = LET(n;5;
                   s;SEQUENCE(;n);
                   m;TABLEAU.ALEA(;n);
                   TRIERPAR(s;m))

Exemple de résultat : 2 ; 5 ; 1 ; 4 ; 3.

Principe

  • On génère une matrice de valeur de 1 à 5 (s), on la trie (TRIERPAR) selon l'ordre d'une matrice de nombre aléatoire (m).

Merci pour votre attention bienveillante.

Article intéressant ?

Cliquez sur une étoile pour noter cet article !

Note moyenne 0 / 5. Nombre de votes : 0

Aucun vote pour l'instant ! Soyez le premier à noter ce post.

Nous sommes désolés que cet article ne vous ait pas été utile !

Améliorons cet article !

Dites nous comment nous pouvons améliorer cet article ?

Publications similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *