Fonction Excel RANDBETWEEN - Obtenir un nombre aléatoire entre les nombres

Télécharger un exemple de classeur

Téléchargez l'exemple de classeur

Ce didacticiel montre comment utiliser le Fonction RANDBETWEEN Excel dans Excel pour calculer un nombre aléatoire entre deux nombres.

Présentation de la fonction RANDBETWEEN

La fonction RANDBETWEEN Calcule un nombre aléatoire entre deux nombres.

Pour utiliser la fonction de feuille de calcul Excel RANDBETWEEN, sélectionnez une cellule et tapez :

(Remarquez comment les entrées de formule apparaissent)

Fonction RANDBETWEEN Syntaxe et entrées :

1 =RANDBETWEEN(bas,haut)

bas - Le plus petit entier que randbetween peut retourner.

Haut - Le plus grand entier que randbetween peut retourner.

Comment utiliser la fonction RANDBETWEEN dans Excel :

La fonction RANDBETWEEN génère des nombres (nombres entiers) entre les nombres que vous spécifiez.

1 =RANBENTRE(B3,C3)

Remarque : RANDARRAY est une nouvelle fonction dans Excel 2022 et remplace la fonction RANDBETWEEN. Mais si vous n'avez pas la dernière version ou si vous devez envoyer le fichier à des personnes qui ne l'ont pas encore, vous pouvez toujours utiliser la fonction RANDBETWEEN pour une compatibilité descendante.

En plus de générer des nombres aléatoires que vous spécifiez, RANDARRAY vous permet de choisir le nombre de lignes et de colonnes pour placer les nombres aléatoires, et même de choisir si vous voulez des nombres entiers ou des nombres décimaux.

Si votre version d'Excel est Excel 2003 et inférieure, vous pouvez utiliser RAND car RANDBETWEEN n'est disponible qu'à partir de 2007 et supérieur. Au lieu de vous permettre de choisir le nombre minimum et maximum, il génère aléatoirement des décimales entre 0 et 1.

1 =RAND()

Générer des décimales dans une plage

Comme mentionné, RANDARRAY et RAND le font facilement. Avec RANDBETWEEN, vous devez procéder comme ceci :

1 =RANDBETWEEN($B$3*10,$B$6*10)/10

Vous devez d'abord décider du nombre de décimales que vous souhaitez. Dans ce qui précède, par exemple, c'est une décimale. Et vous devez diviser un nombre entier par 10 pour obtenir une décimale. Par conséquent, la formule est essentiellement

1 =RANDBETWEEN(Nombre minimum x 10, Nombre maximum x 10) / 10.

Générer des dates ou/et des heures aléatoires

Si vous savez comment les dates et l'heure sont stockées dans Excel, la logique sera similaire à celle ci-dessus car elles sont stockées sous forme de nombres. Seulement:

1 =RANDBETWEEN($B$3,$B$6)

Le temps est similaire, sauf qu'il est décimal au lieu d'un nombre entier ou d'un entier. Il y a 24 heures par jour, alors multipliez les nombres minimum et maximum par 24 et divisez ce nombre aléatoire par 24 pour obtenir une heure aléatoire.

1 =RANDBETWEEN($B$3*24,$B$6*24)/24

Si vous voulez également des minutes aléatoires, utilisez 1440 (24 heures x 60 minutes) au lieu de 24.

1 =RANDBETWEEN($B$3*1440,$B$6*1440)/1440

Pour les avoir tous les deux ensemble, il suffit de les additionner :

1 =RANDBETWEEN($B$3,$B$6)+RANDBETWEEN($C$3*1440,$C$6*1440)/1440

Si vous avez simplement besoin de randomiser des nombres entiers, RANDBETWEEN est parfait en soi. Cependant, la plupart du temps, nous voulons récupérer un champ aléatoire. Pour saisir un employé au hasard dans B3:B7 par exemple, vous pouvez utiliser une fonction RANDBETWEEN pour saisir un numéro de ligne et INDEX pour saisir la valeur particulière de la ligne :

1 =INDICE(B3:B7,RANDBETWEEN(1,5))

Pour vous assurer qu'il n'y a pas de doublons, vous pouvez utiliser cette formule matricielle.

12 {=INDICE($B$3:$B$7,LARGE(SI(ISNA(MATCH($B$3:$B$7,D$2:D2,0)), LIGNE($B$3:$B$7),0) ,RANDBETWEEN(1,5-ROWS(D$3:D3)+1))-ROW($B$3)+1)}

Dans ce qui précède, par exemple, RANDBETWEEN randomise d'abord entre 1 et (5 - ROWS(D$3:D3) + 1). Essentiellement, c'est 5 - 1 + 1 et toujours 5. Au fur et à mesure que la formule est copiée, elle est aléatoire entre 5 et 4 (5 - 2 + 1), et lentement jusqu'à juste entre 1 et 1.

Cette partie de la randomisation consiste à obtenir le nième plus grand nombre. Pour la première ligne de la cellule D3, vous pouvez saisir n'importe quel nombre de 1 à 5 car il n'y a pas encore de doublons.

Pour la deuxième ligne de la cellule D4, vous voulez seulement qu'elle soit aléatoire parmi 4 nombres car un est déjà pris. Et le SI + ISNA + MATCH + ROW permet de renvoyer un numéro de ligne uniquement si B3:B7 ne correspond pas à la cellule D3. Dans l'exemple, Garrison Vance en D3 est un match en B3:B7. Par conséquent, il ne renvoie que le numéro de ligne pour le reste des noms.

N'appuyez pas sur Entrée, mais CTRL + MAJ + ENTRÉE car il s'agit d'une formule matricielle. Vous devriez voir des accolades l'entourer lorsque c'est bien fait. Si vous utilisez Excel 2022 ou Office 365, vous pouvez entrer la formule normalement

<<>>>

La fonction RANDBETWEEN fonctionne de la même manière dans Google Sheets.

Notes complémentaires

Utilisez la fonction RANDBETWEEN pour calculer un entier aléatoire entre deux nombres.
=rand()

RANDBETWEEN Exemples en VBA


Vous pouvez également utiliser la fonction RANDBETWEEN dans VBA. Taper: Application.Worksheetfunction.Randbetween (bas, haut)
Pour les arguments de la fonction (en bas, etc.), vous pouvez soit les saisir directement dans la fonction, soit définir des variables à utiliser à la place.

Exécuter les instructions VBA suivantes

123 Range("C2") = Application.WorksheetFunction.RandBetween(Range("A2"), Range("B2"))Range("C3") = Application.WorksheetFunction.RandBetween(Range("A3"), Range("B3"))Range("C4") = Application.WorksheetFunction.RandBetween(Range("A4"), Range("B4"))

produira les résultats suivants

La troisième instruction générera une erreur, car RANDBETWEEN n'acceptera pas les nombres négatifs comme paramètres :

Revenir à la liste de toutes les fonctions dans Excel

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave