Slumpmässig nummergenerator i Excel utan upprepningar (9 metoder)

  • Dela Detta
Hugh West

För specifika ändamål (t.ex. telefonnummer, lotteri, statistisk provtagning) måste vi generera slumpmässiga nummer utan upprepning. Du kan dock få repetitiva slumpmässiga nummer om du använder de allmänna Excel-formlerna. I den här artikeln diskuterar jag de 9 metoderna som en slumpmässig nummergenerator i Excel utan upprepningar tillsammans med den rätta förklaringen.

Ladda ner övningsboken

Slumpmässiga talgeneratorer utan upprepning.xlsx

9 metoder för att implementera slumpmässiga nummergeneratorer i Excel utan upprepningar

I de fyra första metoderna ser du hur man använder de nyligen släppta array-funktionerna, som introducerades i Excel 365, för att generera slumpmässiga nummer utan upprepning. Resten av metoderna passar dock alla Excel-versioner, särskilt för dem som använder tidigare versioner av Excel. Sammanfattningsvis kan du använda de nio metoderna som en generator för slumpmässiga tal i Excel utan upprepningar.

Låt oss gå in på metoderna.

1. Använda funktionen RANDARRAY

För det första ska vi se hur man använder sig av RANDARRAY funktionen för att generera slumpmässiga tal.

RANDARRAY som infördes i Excel 365 ger en lista med slumpmässiga tal i form av en matris. Vi kan använda funktionen för att få fram slumpmässiga tal utan dubbla värden.

Jag vill till exempel producera 20 slumpmässiga nummer utan upprepning från 1 till 200.

Under sådana förhållanden kommer formeln att vara följande-

=RANDARRAY(10,2,1,200,TRUE)

Här, 10 är antalet rader, 2 är antalet kolumner, 1 är det lägsta värdet, 200 är det högsta värdet, och slutligen, TRUE är för heltalstal.

Den här metoden är dock användbar om du vill ha några få siffror från ett stort antal siffror (t.ex. generera 10/20 siffror från 1 till 200/500), annars skapas dubbla värden.

Läs mer: Excel-formel för att generera slumpmässiga tal (5 exempel)

2. Användning av UNIQUE & RANDARRAY-funktioner

För det andra kommer vi att använda oss av tillämpningen av UNIK funktionen samt funktionen RANDARRAY funktion.

UNIK som finns i Excel 365 och Excel 2021-versionerna, returnerar en lista med unika värden från en viss datauppsättning eller ett visst cellområde. Vi kan alltså använda två funktioner för att producera slumpmässiga tal utan upprepning.

Den kombinerade formeln kommer att vara-

=UNIQUE(RANDARRAY(10,2,1,100,TRUE))

Här, 10 är antalet rader, 2 är antalet kolumner, 1 är det lägsta värdet, 200 är det högsta värdet, och slutligen, TRUE är för heltalstal.

⧬ I formeln ovan använde jag följande RANDARRAY(10,2,1,100,TRUE) som en matris för att generera 20 slumpmässiga tal mellan 1 och 100. Senare kan UNIK funktionen returnerar unika värden från de genererade slumptalen.

3. Tillämpning av funktionerna SORTBY & SEQUENCE för att generera slumpmässiga nummer utan upprepningar

För det tredje kan vi använda kombinationen av vissa dynamiska array-funktioner.

SEQUENCE funktionen, som endast är tillgänglig i Excel 365 & Excel 2021-versioner, producerar en lista (array) med löpande nummer.

Om du vill få fram en lista med siffror från 1 till 10 måste du använda följande formel.

=SEKVENS(10)

Här, 10 är antalet rader.

Därefter ska SORTBY funktionen sorterar en array av värden baserat på en annan array av värden i stigande eller fallande ordning. Därför kan vi använda funktionen tillsammans med funktionen SEQUENCE & RANDARRAY för att skapa 10 slumpmässiga nummer utan upprepning.

=SORTBY(SEKVENS(10),RANDARRAY(10))

⧬ När vi förklarar formeln kan vi säga att RANDARRAY(10) producerar en lista med 10 slumpmässiga nummer. SEKVENS(10) syntaxen genererar en lista med 10 nummer (sekventiella). och SEKVENS(10) och RANDARRAY(10) används som matris argument och by_array argumentet i den SORTBY Eftersom vi vill sortera den sekventiella listan med siffror i slumpmässig ordning.

Läs mer: Hur man genererar slumpmässiga nummer med Excel VBA (4 exempel)

4. Använda INDEX-funktionen som slumpmässig talgenerator utan upprepningar

Om vi vill skapa en lista med slumpmässiga nummer utan upprepning, kan vi använda INDEX funktion tillsammans med den tidigare diskuterade RANDARRAY , SEQUENCE & UNIK Vi kan också producera 4 typer av slumpmässiga nummer.

4.1. Framställning av slumpmässiga heltalstal

När du behöver generera 10 slumpmässiga heltalstal mellan 1 och 100 utan upprepning använder du följande formel.

=INDEX(UNIK(RANDARRAY(10, 1, 1, 1, 100, TRUE)), SEKVENS(10))

⧬ När vi förklarar formeln kan vi säga att SEKVENS(10) skapar 10 löpande nummer, RANDARRAY(10, 1, 1, 1, 100, TRUE) producerar 10 slumpmässiga heltal mellan 1 och 100. Eftersom TRUE används för att generera heltalstal. Senare används UNIK funktionen tar bort de repetitiva värdena från de genererade siffrorna. Slutligen kan funktionen INDEX Funktionen returnerar de 10 slumpmässiga heltalstalen enligt anvisningarna i SEQUENCE funktion. I så fall kommer utgången UNIK funktionen används som en matris.

4.2. Framställning av slumpmässiga decimaltal

Om du vill generera 10 slumpmässiga decimaltal utan upprepning kan du använda följande formel.

=INDEX(UNIK(RANDARRAY(10, 1, 1, 1, 100, FALSE)), SEKVENS(10))

Här, 10 är antalet rader, 2 är antalet kolumner, 1 är det lägsta värdet, 100 är det högsta värdet, och slutligen, FALSK är till för att generera decimaltal.

4.3. Framställning av ett intervall av heltalstal

På samma sätt kan du generera en rad slumpmässiga heltalstal med hjälp av följande formel.

=INDEX(UNIK(RANDARRAY(20, 1, 1, 1, 200, TRUE)), SEKVENS(10,2))

Här, 20 är antalet rader, 1 är antalet kolumner, 1 är det lägsta värdet, 200 är det högsta värdet, och slutligen, TRUE är till för att generera heltalstal.

4.4. Framställning av en rad slumpmässiga decimaltal

För att generera ett intervall av slumpmässiga decimaltal mellan 1 och 100 kan du använda följande formel.

=INDEX(UNIK(RANDARRAY(20, 1, 1, 1, 100)), SEKVENS(10, 2))

Här, 20 är antalet rader, 1 är antalet kolumner, 1 är det lägsta värdet, 200 är det högsta värdet, och slutligen, FALSK är till för att generera decimaltal.

Läs mer: Generera slumpmässiga tal i Excel med decimaler (3 metoder)

5. RAND & RANDBETWEEN-funktioner för att generera slumpmässiga tal

RAND funktionen genererar ett tal mellan 0 och 1. Lyckligtvis är det mycket liten möjlighet att generera dubbla värden när man använder funktionen RAND Du kan få repetitiva värden om du överskrider 100000 gånger.

Använd formeln om du vill generera unika decimaltal.

=RAND()

Dessutom har RANDBETWEEN returnerar heltal mellan två givna tal.

Om du till exempel vill få fram heltalstal mellan 1 och 100 kan du använda formeln nedan.

=INTERVALL(1,100)

Här, 1 är den botten argument och 100 är den topp argument.

Tyvärr finns det en stor möjlighet att få upprepade värden när man använder RANDBETWEEN funktion. I sådana fall kan du använda funktionen Ta bort dubbletter från alternativet Uppgifter på fliken Verktyg för data efter att du har valt cellområdet.

Läs mer: Hur man genererar slumpmässiga nummer utan dubbletter i Excel (7 sätt)

Liknande läsningar

  • Generera slumpmässiga tal mellan 0 och 1 i Excel (2 metoder)
  • Slumpmässig 5-siffrig talgenerator i Excel (7 exempel)
  • Slumpmässig 4-siffrig talgenerator i Excel (8 exempel)
  • Generera slumpmässiga nummer från en lista i Excel (4 sätt)
  • Slumpmässig nummergenerator mellan intervall i Excel (8 exempel)

6. Tillämpning av RAND & RANK-funktioner som slumpmässiga talgeneratorer

Dessutom kan du använda RANK som returnerar den relativa storleken på ett tal baserat på den givna listan med tal. Innan du gör det skapar du en lista med slumpmässiga decimaltal med hjälp av funktionen RAND funktion.

=RANK(B5,$B$5:$B$15)

Här, B5 är startcellen för decimaltal och B5:B15 är cellområdet för decimaltal.

Läs mer: Excel VBA: Slumpmässig nummergenerator utan dubbletter (4 exempel)

7. Användning av kombinationen av funktionerna RANK.EQ & COUNTIF

Låt oss säga att du vill generera slumpmässiga nummer utan upprepning från 10 till 50.

I en sådan situation kan du använda kombinationen av RANK.EQ & COUNTIF för att generera slumpmässiga nummer utan upprepning. Innan du gör det skapar du en lista med nummer mellan 10 och 50 med hjälp av RANDBETWEEN funktion.

Använd nu formeln nedan-

=9+RANK.EQ(B5, $B$5:$B$15) + COUNTIF($B$5:B5, B5) - 1

Här, B5 är startcellen för slumpmässiga tal och B5:B15 är cellområdet för decimaltal.

⧬ När vi förklarar formeln kan vi säga att COUNTIF funktionen räknar varje slumptal som finns i listan. Och funktionen RANK.EQ returnerar den relativa positionen (rank) för varje slumpmässigt tal, och slutligen måste vi lägga till 9 eftersom vi vill generera ett tal som börjar från 10.

8. LARGE & MATCH-funktioner som slumpmässig talgenerator i Excel

Vi kan också producera slumpmässiga heltalstal utan upprepning genom att använda kombinationen av LARGE och MATCH funktioner. LARGE funktionen returnerar det k:e största värdet i ett givet cellområde eller dataset.

=STOR($B$5:$B$15,ROW(B1))

Här, $B$5:$B$15 är cellintervallet för slumpmässiga decimaltal som hittas med hjälp av RAND funktion, RÄCK(B1) avser rad nummer 1.

Därefter måste vi hitta positionen för det skapade största värdet med hjälp av följande formel.

=MATCH(C5,$B$5:$B$15,0)

Här, C5 är startcellen för de största talen, $B$5:$B$15 är cellintervallet med slumpmässiga decimaltal, och slutligen, 0 är för att få en exakt matchning.

9. Analysis Toolpak som slumpmässig talgenerator i Excel

Slutligen, om du behöver generera slumpmässiga nummer utan upprepning istället för att använda Excel-formlerna, kan du använda följande Tilläggsfunktioner av Excel.

För att använda Tilläggsfunktioner följ stegen nedan.

⇰ Gå till Fil > Alternativ .

⇰ Klicka på Tilläggsfunktioner och välj Excel-tillägg från rullgardinslistan och välj alternativet Gå till .

⇰ Då visas följande dialogruta, och kryssa för rutan före Verktygspaket för analys och tryck på OK .

⇰ Välj nu Analys av data från alternativet Uppgifter på fliken Analys band.

⇰ Därefter väljer du alternativet Generering av slumpmässiga tal och tryck på OK .

⇰ Omedelbart visas följande dialogruta.

⇰ Välj sedan ett alternativ baserat på den önskade produktionen.

⇰ Jag valde till exempel Antal variabler och Antal slumpmässiga nummer som 4 & 10 för att generera en lista med nummer som har 10 rader och 4 kolumner.

⇰ Ännu viktigare är att vi måste välja den Distribution som Uniform eftersom vi vill undvika upprepade värden.

⇰ Senare, Mellan 10 och 30 betyder att jag vill hitta talet inom intervallet.

⇰ Slutligen måste du välja den Utgångsområde

När du har utfört alla uppgifter får du följande resultat.

Läs mer: Slumpmässig talgenerator med dataanalysverktyg och funktioner i Excel

Några vanliga fel

Du kan dock stöta på följande fel när du använder formeln ovan som en slumpmässig talgenerator i Excel utan upprepningar.

Felens namn När inträffar
#CALC! Om den UNIK funktionen kan inte ta fram de unika värdena.
#SPILL! Om det finns något värde inom spillområdet där UNIK funktionen returnerar listan.
#VALUE! RANDARRAY funktionen uppstår när det lägsta värdet är större än det högsta värdet.

Slutsats

Så här kan du använda ovanstående metoder som en slumpmässig talgenerator i Excel utan upprepningar. Välj vilken metod som helst utifrån dina önskemål. Jag hoppas att den här artikeln underlättar din resa i Excel.

Hugh West är en mycket erfaren Excel-tränare och analytiker med över 10 års erfarenhet i branschen. Han har en kandidatexamen i redovisning och ekonomi och en magisterexamen i företagsekonomi. Hugh har en passion för undervisning och har utvecklat ett unikt undervisningssätt som är lätt att följa och förstå. Hans expertkunskap om Excel har hjälpt tusentals studenter och yrkesverksamma över hela världen att förbättra sina färdigheter och utmärka sig i sina karriärer. Genom sin blogg delar Hugh med sig av sin kunskap med världen, och erbjuder gratis Excel-handledning och onlineutbildning för att hjälpa individer och företag att nå sin fulla potential.