Note: The other languages of the website are Google-translated. Back to English
Se connecter  \/ 
x
or
x
INSCRIPTION  \/ 
x

or

Comment générer un nombre aléatoire sans doublons dans Excel?

Dans de nombreux cas, vous souhaiterez peut-être générer des nombres aléatoires dans Excel? Mais avec les formules générales pour randomiser les nombres, il peut y avoir des valeurs en double. Ici, je vais vous dire quelques astuces pour générer des nombres aléatoires sans doublons dans Excel.

Générer des nombres aléatoires uniques avec des formules

Générez un nombre aléatoire unique avec Kutools for Excel's Insert Random Data (Facile!) bonne idée3


flèche bleue bulle droite Générer des nombres aléatoires uniques avec des formules

Pour générer les nombres aléatoires uniques dans Excel, vous devez utiliser deux formules.

1. Supposons que vous deviez générer des nombres aléatoires sans doublons dans la colonne A et la colonne B, sélectionnez maintenant la cellule E1 et tapez cette formule = RAND (), puis appuyez Entrer clé, voir capture d'écran:
doc-randomize-no-repeat-1

2. Et sélectionnez toute la colonne E en appuyant sur Ctrl + Space touches simultanément, puis appuyez sur Ctrl + D touches pour appliquer la formule = RAND () à toute la colonne E. Voir capture d'écran:
doc-randomize-no-repeat-2

3. Ensuite, dans la cellule D1, tapez le nombre maximal de votre nombre aléatoire nécessaire. Dans ce cas, je veux insérer des nombres aléatoires sans répéter entre 1 et 50, donc je vais taper 50 dans D1.
doc-randomize-no-repeat-3

4. Maintenant, allez dans la colonne A, sélectionnez la cellule A1, tapez cette formule =IF(ROW()-ROW(A$1)+1>$D$1/2,"",RANK(OFFSET($E$1,ROW()-ROW(A$1)+(COLUMN()-COLUMN($A1))*($D$1/2),),$E$1:INDEX($E$1:$E$1000,$D$1))), puis faites glisser la poignée de recopie vers la colonne B suivante, puis faites glisser la poignée de recopie vers la plage dont vous avez besoin. Voir la capture d'écran:
doc-randomize-no-repeat-4

Maintenant, dans cette plage, les nombres aléatoires dont vous avez besoin ne sont pas répétés.

Remarque:

1. Dans la formule longue ci-dessus, A1 indique la cellule dans laquelle vous utilisez la formule longue, D1 indique le nombre maximal du nombre aléatoire, E1 est la première cellule de la colonne que vous appliquez formule = RAND () et 2 indique que vous souhaitez insérer nombre aléatoire en deux colonnes. Vous pouvez les changer selon vos besoins.

2. Lorsque tous les numéros uniques sont générés dans la plage, les cellules redondantes seront affichées comme vides.

3. Avec cette méthode, vous pouvez simplement générer un nombre aléatoire à partir du numéro 1. Mais avec la deuxième méthode, vous pouvez facilement spécifier la plage de nombres aléatoires.


flèche bleue bulle droite Générez un nombre aléatoire unique avec Kutools for Excel's Insert Random Data

Avec les formules ci-dessus, il y a trop d'inconvénients à gérer. Mais avec Kutools pour Excel's Insérer des données aléatoires fonctionnalité, vous pouvez rapidement et facilement insérer les nombres aléatoires uniques selon vos besoins, ce qui vous fera gagner beaucoup de temps.

Moins de temps mais plus de productivité

Comprend plus de 300 outils professionnels pour Excel 2019-2003
La première version 1.0 est sortie en 2011, c'est maintenant la version 18.0
Résout la plupart des tâches quotidiennes complexes d'Excel en quelques secondes, économisez votre temps
Essai gratuit de 30 jours sans aucune limitation

kte 包装 盒

Après l'installation de Kutools for Excel, procédez comme suit:(Téléchargez gratuitement Kutools pour Excel maintenant!)

1. Sélectionnez la plage dont vous avez besoin pour générer des nombres aléatoires, puis cliquez sur Kutools > insérer > Insérer des données aléatoires. Voir la capture d'écran:

2. dans le Insérer des données aléatoires dialogue, allez à Entier , tapez la plage de numéros dont vous avez besoin dans le De et À zones de texte, et n'oubliez pas de cocher Des valeurs uniques option. Voir la capture d'écran:

3. Cliquez Ok pour générer les nombres aléatoires et quitter la boîte de dialogue.

A Noter:Si vos cellules sélectionnées sont plus que les nombres aléatoires, les cellules redondantes sont affichées comme vides.

Vous pouvez également insérer la date unique aléatoire, l'heure unique aléatoire par Insérer des données aléatoires. Si vous souhaitez avoir un essai gratuit de Insérer des données aléatoires, veuillez le prêter dès maintenant!
insérer des données aléatoires

Pointe.Si vous souhaitez sélectionner ou trier les données de manière aléatoire, essayez d'utiliser Kutools for Excel's Trier la plage au hasard comme indiqué dans la capture d'écran suivante. C'est une fonction complète sans limitation en 30 jours, s'il vous plaît télécharger et avoir un essai gratuit maintenant.

doc sélectionner au hasard


flèche bleue bulle droite Insérer des données aléatoires sans dupliquer




Insérez rapidement plusieurs cases à cocher ou boutons dans une plage de cellules dans la feuille de calcul

Dans Excel, vous ne pouvez insérer qu'une seule case à cocher / bouton dans une cellule, ce sera gênant s'il y a plusieurs cellules à insérer des cases à cocher / boutons en même temps. Kutools pour Excel a un utilitaire puissant - Contrôle d'insertion par lots Boites / Boutons d'option d'insertion par lots peut insérer des cases à cocher / boutons dans les cellules sélectionnées en un seul clic.  Cliquez pour un essai gratuit complet en 30 jours!
case d'option d'insertion de document
 
Kutools for Excel: avec plus de 300 compléments Excel pratiques, essayez gratuitement sans limitation en 30 jours.

Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtrée...
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammes...
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellules...
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF...
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
bas de cabine
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    jorge · 8 months ago
    En la parte Genere números aleatorios únicos con fórmulas como hago para ampliar el numero de columnas pasar de 2 a 5 sin repetir los numeros segun la formula que ud puso: =IF(ROW()-ROW(A$1)+1>$D$1/2,"",RANK(OFFSET($E$1,ROW()-ROW(A$1)+(COLUMN()-COLUMN($A1))*($D$1/2),),$E$1:INDEX($E$1:$E$1000,$D$1)))
  • To post as a guest, your comment is unpublished.
    Janel · 1 years ago
    Hello. I just found this site, and am trying to figure out best way to assign a new code to people. I'd like to assign a random code for people to use between 1000 and 65000, that does not equal any codes already assigned. I'd also like it to be formatted with 5 numbers (00000), but that's not a big deal if it doesn't take care of that. Any ideas on how to make this work? TIA :-)
    • To post as a guest, your comment is unpublished.
      Sunny · 1 years ago
      Hi, Janel, why you donot try the Data Validation in Excel? It can only allow whole numbers between 1000 and 65000 to be entered in a cell range.
  • To post as a guest, your comment is unpublished.
    Jensen · 2 years ago
    Help anyone :-) This one I cannot figure out. At our school we often put together students in groups - 2 and 2 together for a number of working sessions. 9 in this case. There are 18 students (vary) in the class. What I am chasing is a formula that gives me a random result of who should work together in the 9 working sessions without having students meeting each other twice. So I need Excel to give me a result of 18 students spread across 9 working sessions and any student must not be match with another student twice. How the xxxx do I fix that? I have search all over the place for inspiration without luck. Any input is appreciated :-)
    • To post as a guest, your comment is unpublished.
      Sunny · 2 years ago
      Hi, Anders, you need to list all names in column A, then in column B, apply formula =rand(), then specify 2 as the size in cell F2, now apply this formula =ROUNDUP(RANK(B3,$B$3:$B$19)/$F$2,0) in column C as below screenshot shown
      • To post as a guest, your comment is unpublished.
        Jensen · 2 years ago
        Hi. Thanks for your reply.
        I understand you suggestions, but how do I achieve a setup where all students are assigned to maksimum number of workshops where 2 students are randomly assigned to first one workshop, then the second workshop, then the third workshop etc. etc. and to take this even further a student must not be matched with another student that he/she already have worked with. So when having 18 students I need "the system" to allocate all student to (in this case) 9 workshop (e.g. one workshop per week) and no student should be a student they have already worked with.
        • To post as a guest, your comment is unpublished.
          Elias · 1 years ago
          Hi there, did you ever manage to work out a solution to this, I've encountered the same issue. Any help would be appreciated.
        • To post as a guest, your comment is unpublished.
          Guest · 2 years ago
          Or you could use a sudoku setup.
  • To post as a guest, your comment is unpublished.
    Michel · 2 years ago
    How can I do the same thing with a custom list? Not numbers?
    • To post as a guest, your comment is unpublished.
      Paulo Lira · 2 years ago
      Your custom list is in Column A. Lets say it has 100 values and it is located in A1:A100

      Column B is a counter:
      1 for B1 and (B1+1) for B2:B100

      Column C is a random list:
      RAND() for C1:C100

      Column D is a random rank based on the random list:
      RANK.EQ(C1;$C$1:$C$100)

      Column E is your output:
      INDEX($A$1:$A$100;MATCH(D1;$B$1:$B$100;0))

      Note: There is virtually no chance of generating a duplicate value on column C since RAND() have billions of possibilities. But, if you really want to erase that chance you can type the following formula at column D2:D100
      IF(COUNTIFS($C$2:C2;C2)>0;D1+1;RANK.EQ(C2;$C$1:$C$100))
  • To post as a guest, your comment is unpublished.
    Moodley · 3 years ago
    I need to create 5000 random numbers 1-90 no duplicates 30 columes I and using the formula =RAND() and =IF(ROW()-ROW(A$1)+1>$D$1/2,"",RANK(OFFSET($E$1,ROW()-ROW(A$1)+(COLUMN()-COLUMN($A1))*($D$1/2),),$E$1:INDEX($E$1:$E$1000,$D$1))) is there way that i could change the formula to extract the 5000 numbers
    • To post as a guest, your comment is unpublished.
      Sunny · 3 years ago
      Sorry I have no idea, you can place this problem to our forum https://www.extendoffice.com/forum.html, maybe someone can help you.
  • To post as a guest, your comment is unpublished.
    JIGGLY BALLS · 4 years ago
    After about three hours of trying to completely understand the long complicated formula to generate random numbers without duplicates, I figured out a far simpler formula that has the same results. After you randomly generate the numbers in a column using the RAND() function, You can simplify the formula:=IF(ROW()-ROW(A$1)+1>$D$1/2,"",RANK(OFFSET($E$1,ROW()-ROW(A$1)+(COLUMN()-COLUMN($A1))*($D$1/2),),$E$1:INDEX($E$1:$E$1000,$D$1))) in cell a1 to =Rank(E1,$E$1:$E$50). Then if you would like 50 random generated "unique numbers." you simply drag the formula through column a to cell a50. It is a lot simpler. Thank you for answering my question regardless of the huge unneeded formula. If you did not have this website. I don't think I would have been able to solve my problem.

    #WAR
    Jiggly
    • To post as a guest, your comment is unpublished.
      joe78man@gmail.com · 3 years ago
      Actually, if you have two equal values, rank will give the same value to both. Rank formula does return repeated rank values.
      • To post as a guest, your comment is unpublished.
        Paulo Lira · 2 years ago
        Manuel Ramirez.

        The formula RAND() has hundreds of billions of possibilities, but even so you can use a conditional to not repeat the numbers:
        A1 = Rank(E1,$E$1:$E$50)
        A2 = IF(COUNTIFS($E$1:E1;E1)>1;A1+1;Rank(E2,$E$1:$E$50)
  • To post as a guest, your comment is unpublished.
    Bernz · 5 years ago
    Hi, Base on [b]Generate unique random numbers with formulas [/b], How can I specify the starting point of a random number? Let's say I want to random "15 to 30".
    • To post as a guest, your comment is unpublished.
      RK Mohanty · 4 years ago
      Use RANDBETWEEN() to get random numbers lies between two numbers.