Hoppa till huvudinnehåll

Hur genererar jag slumptal utan duplikat i Excel?

I många fall kanske du vill generera slumpmässiga nummer i Excel? Men med de allmänna formlerna för att randomisera siffror kan det finnas några dubbla värden. Här berättar jag några knep för att generera slumpmässiga nummer utan duplikat i Excel.

Skapa unika slumpmässiga nummer med formler

Skapa unikt slumptal med Kutools för Excel: s Infoga slumpmässiga data (enkelt!) bra idé3


pil blå höger bubbla Skapa unika slumpmässiga nummer med formler

För att skapa de unika slumpmässiga siffrorna i Excel måste du använda två formler.

1. Antag att du måste generera slumpmässiga nummer utan dubbletter i kolumn A och kolumn B, välj nu cell E1 och skriv den här formeln = RAND (), Tryck sedan på ange nyckel, se skärmdump:
doc-randomize-no-repeat-1

2. Och välj hela kolumnen E genom att trycka på ctrl + Utrymme samtidigt och tryck sedan på ctrl + D för att tillämpa formeln = RAND () till hela kolumnen E. Se skärmdump:
doc-randomize-no-repeat-2

3. Skriv sedan in det maximala antalet slumpmässiga nummer i cellen D1. I det här fallet vill jag infoga slumptal utan att upprepas mellan 1 och 50, så jag skriver 50 i D1.
doc-randomize-no-repeat-3

4. Gå nu till kolumn A, välj cell A1, skriv denna formel =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))), dra sedan påfyllningshandtaget till nästa kolumn B och dra ner påfyllningshandtaget till det intervall du behöver. Se skärmdump:
doc-randomize-no-repeat-4

Nu, i detta intervall, upprepas de slumpmässiga siffrorna du behöver.

Notera:

1. I ovanstående långa formel anger A1 den cell du använder den långa formeln, D1 anger det maximala antalet slumpmässiga tal, E1 är den första cellen i kolumnen du använder formel = RAND () och 2 anger att du vill infoga slumpmässigt nummer i två kolumner. Du kan ändra dem efter behov.

2. När alla unika nummer genereras i intervallet visas de redundanta cellerna som tomma.

3. Med den här metoden kan du bara generera slumpmässigt nummer från nummer 1. Men på andra sättet kan du enkelt ange slumpmässigt antal.


pil blå höger bubbla Skapa unikt slumptal med Kutools för Excel Infoga slumpmässiga data

Med ovanstående formler finns det för mycket besvär att hantera. Men med Kutools för ExcelÄr Infoga slumpmässiga data funktionen kan du snabbt och enkelt infoga de unika slumpmässiga siffrorna som ditt behov vilket sparar mycket tid.

Mindre tid men högre produktivitet

Inkluderar 300+ professionella verktyg för Excel 2019-2003
Första version 1.0 släpptes 2011, nu är version 18.0
Löser de flesta komplexa Excel-uppgifter dagligen på några sekunder, sparar tid
30-dagars gratis testperiod utan begränsning

kte 包装 盒

När du har installerat Kutools för Excel, gör så här:(Gratis nedladdning Kutools för Excel nu!)

1. Välj det intervall du behöver för att generera slumptal och klicka Kutools > Insert > Infoga slumpmässiga data. Se skärmdump:

2. I Infoga slumpmässiga data dialog, gå till Heltal fliken, skriv det nummerintervall du behöver i Från och Till textrutor och kom ihåg att kontrollera Unika värden alternativ. Se skärmdump:

3. klick Ok för att generera slumptal och avsluta dialogen.

Notera:Om dina valda celler är fler än slumpmässiga siffror visas de redundanta cellerna som tomma.

Du kan också infoga slumpmässigt unikt datum, slumpmässig unik tid efter Infoga slumpmässiga data. Om du vill ha en gratis testversion av Infoga slumpmässiga data, snälla downloan det just nu!
infoga slumpmässiga data

Tips.Om du vill välja eller sortera data slumpmässigt, försök att använda Kutools för Excel Sortera intervall slumpmässigt som visas i följande skärmdump. Det är full funktion utan begränsning på 30 dagar, vänligen ladda ner och få en gratis provperiod nu.

välj slumpmässigt


pil blå höger bubbla Infoga slumpmässiga data utan duplikat




Sätt snabbt in flera kryssrutor eller knappar i ett antal celler i kalkylbladet

I Excel kan du bara infoga en kryssruta / knapp i en cell en gång, det kommer att vara besvärligt om det finns flera celler som behövs för att infoga kryssrutor / knappar samtidigt. Kutools för Excel har ett kraftfullt verktyg - Batchinsatskontroll Lådor / Alternativknappar för batchinsats kan infoga kryssrutor / knappar i de markerade cellerna med ett klick.  Klicka för en gratis provperiod på 30 dagar!
doc-kryssrutan alternativknapp
 
Kutools för Excel: med mer än 300 praktiska Excel-tillägg, gratis att prova utan begränsning på 30 dagar.

Bästa kontorsproduktivitetsverktyg

Populära funktioner: Hitta, markera eller identifiera dubbletter   |  Ta bort tomma rader   |  Kombinera kolumner eller celler utan att förlora data   |   Rund utan formel ...
Superuppslag: Flera kriterier VLookup    VLookup med flera värden  |   VSök över flera ark   |   Fuzzy Lookup ....
Avancerad rullgardinslista: Skapa snabbt en rullgardinslista   |  Beroende rullgardinslista   |  Flervals-rullgardinslista ....
Kolumnhanterare: Lägg till ett specifikt antal kolumner  |  Flytta kolumner  |  Växla synlighetsstatus för dolda kolumner  |  Jämför intervall och kolumner ...
Utvalda funktioner: Rutnätsfokus   |  Designvy   |   Stor formelbar    Arbetsbok & Bladhanterare   |  Resursbibliotek (Automatisk text)   |  Datumväljare   |  Kombinera arbetsblad   |  Kryptera/Dekryptera celler    Skicka e-postmeddelanden efter lista   |  Superfilter   |   Specialfilter (filtrera fet/kursiv/genomstruken...) ...
Topp 15 verktygssatser12 text verktyg (lägga till text, Ta bort tecken, ...)   |   50 + Diagram Typer (Gantt Chart, ...)   |   40+ Praktiskt Formler (Beräkna ålder baserat på födelsedag, ...)   |   19 Införande verktyg (Infoga QR-kod, Infoga bild från sökväg, ...)   |   12 Konvertering verktyg (Siffror till ord, Valutaväxling, ...)   |   7 Slå ihop och dela verktyg (Avancerade kombinera rader, Dela celler, ...)   |   ... och mer

Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid.  Klicka här för att få den funktion du behöver mest...

kte-flik 201905


Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
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