Przejdź do głównej zawartości

Jak wygenerować liczbę losową bez duplikatów w programie Excel?

W wielu przypadkach możesz chcieć wygenerować liczby losowe w programie Excel? Ale przy ogólnych wzorach losowania liczb mogą występować zduplikowane wartości. Tutaj powiem ci kilka sztuczek do generowania liczb losowych bez duplikatów w Excelu.

Generuj unikalne liczby losowe za pomocą formuł

Wygeneruj unikalną liczbę losową za pomocą Kutools dla programu Excel's Wstaw losowe dane (łatwe!) dobry pomysł 3


strzałka niebieski prawy bąbelek Generuj unikalne liczby losowe za pomocą formuł

Aby wygenerować unikalne liczby losowe w programie Excel, musisz użyć dwóch formuł.

1. Załóżmy, że musisz wygenerować liczby losowe bez duplikatów w kolumnie A i kolumnie B, teraz wybierz komórkę E1 i wpisz tę formułę = LOS (), A następnie naciśnij przycisk Wchodzę klucz, patrz zrzut ekranu:
doc-randomizuj-nie-powtórz-1

2. I wybierz całą kolumnę E, naciskając Ctrl + Typ przestrzeni jednocześnie, a następnie naciśnij Ctrl + D klucze do zastosowania wzoru = LOS () do całej kolumny E. Zobacz zrzut ekranu:
doc-randomizuj-nie-powtórz-2

3. Następnie w komórce D1 wpisz maksymalną liczbę potrzebnych liczb losowych. W tym przypadku chcę wstawić liczby losowe bez powtórzeń od 1 do 50, więc wpiszę 50 do D1.
doc-randomizuj-nie-powtórz-3

4. Teraz przejdź do kolumny A, wybierz komórkę A1, wpisz tę formułę =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))), a następnie przeciągnij uchwyt wypełnienia do następnej kolumny B i przeciągnij w dół uchwyt wypełniania do wymaganego zakresu. Zobacz zrzut ekranu:
doc-randomizuj-nie-powtórz-4

Teraz, w tym zakresie, liczby losowe, których potrzebujesz, nie są powtarzane.

Uwaga:

1. W powyższej długiej formule A1 wskazuje komórkę, której używasz długiej formuły, D1 oznacza maksymalną liczbę losowej liczby, E1 to pierwsza komórka kolumny, w której stosujesz formułę = LOS (), a 2 oznacza, że ​​chcesz wstawić liczba losowa na dwie kolumny. Możesz je zmienić według potrzeb.

2. Gdy wszystkie unikalne liczby zostaną wygenerowane w zakresie, nadmiarowe komórki zostaną wyświetlone jako puste.

3. Za pomocą tej metody możesz po prostu wygenerować liczbę losową, zaczynając od cyfry 1. Ale w drugi sposób możesz łatwo określić zakres liczb losowych.


strzałka niebieski prawy bąbelek Wygeneruj unikalną liczbę losową za pomocą Kutools dla programu Excel's Wstaw losowe dane

Powyższe formuły powodują zbyt wiele niedogodności w obsłudze. Ale z Kutools dla programu Excel'S Wstaw losowe dane funkcja, możesz szybko i łatwo wstawić unikalne liczby losowe według potrzeb, co pozwoli zaoszczędzić dużo czasu.

Mniej czasu, ale wyższa produktywność

Zawiera ponad 300 profesjonalnych narzędzi dla programu Excel 2019-2003
Pierwsza wersja 1.0 została wydana w 2011 roku, teraz jest to wersja 18.0
Rozwiązuje większość złożonych codziennych zadań programu Excel w kilka sekund, oszczędzając czas
30-dniowy bezpłatny okres próbny bez żadnych ograniczeń

kte 包装 盒

Po zainstalowaniu Kutools dla programu Excel, wykonaj poniższe czynności:(Bezpłatne pobieranie Kutools dla programu Excel teraz!)

1. Wybierz zakres potrzebny do generowania liczb losowych i kliknij Kutools > wstawka > Wstaw losowe dane. Zobacz zrzut ekranu:

2. w Wstaw losowe dane dialog, przejdź do Liczba całkowita wpisz potrzebny zakres liczb w Cena Od i Do pola tekstowe i pamiętaj o sprawdzeniu Unikalne wartości opcja. Zobacz zrzut ekranu:

3. kliknij Ok aby wygenerować liczby losowe i zamknąć okno dialogowe.

Uwaga:Jeśli wybrane komórki mają więcej niż liczby losowe, zbędne komórki są wyświetlane jako puste.

Możesz również wstawić losową unikalną datę, losowy unikalny czas według Wstaw losowe dane. Jeśli chcesz skorzystać z bezpłatnej wersji próbnej Wstaw losowe dane, proszę, pobierz teraz!
wstaw losowe dane

Wskazówka.Jeśli chcesz losowo wybierać lub sortować dane, spróbuj użyć Kutools dla programu Excel Sortuj zakres losowo jak pokazano na poniższym zrzucie ekranu. Pełna funkcjonalność bez ograniczeń w 30 dni, pobierz i wypróbuj teraz bezpłatną wersję próbną.

doc wybierz losowo


strzałka niebieski prawy bąbelek Wstaw losowe dane bez duplikatów




Szybko wstawiaj wiele pól wyboru lub przycisków do zakresu komórek w arkuszu

W Excelu możesz wstawić jedno pole wyboru / przycisk do komórki tylko raz, będzie to kłopotliwe, jeśli będzie trzeba wstawić wiele komórek jednocześnie. Kutools dla programu Excel ma potężne narzędzie - Wsadowe sprawdzenie wkładki Skrzynki / Przyciski opcji wstawiania wsadowego może jednym kliknięciem wstawiać pola wyboru / przyciski do wybranych komórek.  Kliknij, aby uzyskać pełny, bezpłatny okres próbny w ciągu 30 dni!
przycisk opcji pola wyboru wstawiania dokumentów
 
Kutools dla programu Excel: z ponad 300 poręcznymi dodatkami do Excela, możesz wypróbować bez ograniczeń w 30 dniach.

Najlepsze narzędzia biurowe

Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...

karta kte 201905


Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
Comments (17)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
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)))
This comment was minimized by the moderator on the site
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 :-)
This comment was minimized by the moderator on the site
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.
This comment was minimized by the moderator on the site
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 :-)
This comment was minimized by the moderator on the site
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
This comment was minimized by the moderator on the site
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.
This comment was minimized by the moderator on the site
Hi there, did you ever manage to work out a solution to this, I've encountered the same issue. Any help would be appreciated.
This comment was minimized by the moderator on the site
Or you could use a sudoku setup.
This comment was minimized by the moderator on the site
How can I do the same thing with a custom list? Not numbers?
This comment was minimized by the moderator on the site
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))
This comment was minimized by the moderator on the site
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
This comment was minimized by the moderator on the site
Sorry I have no idea, you can place this problem to our forum https://www.extendoffice.com/forum.html, maybe someone can help you.
This comment was minimized by the moderator on the site
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
This comment was minimized by the moderator on the site
Actually, if you have two equal values, rank will give the same value to both. Rank formula does return repeated rank values.
This comment was minimized by the moderator on the site
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)
This comment was minimized by the moderator on the site
Hi, Base on Generate unique random numbers with formulas , How can I specify the starting point of a random number? Let's say I want to random "15 to 30".
This comment was minimized by the moderator on the site
Use RANDBETWEEN() to get random numbers lies between two numbers.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations