Innholdsfortegnelse
For spesifikke formål (f.eks. telefonnummer, lotteri, statistisk prøvetaking), må vi generere tilfeldige tall uten repetisjon. Du kan imidlertid få repeterende tilfeldige tall hvis du bruker de generelle Excel-formlene. I denne artikkelen vil jeg diskutere de 9 metodene som en tilfeldig tallgenerator i Excel uten repetisjoner sammen med den riktige forklaringen.
Last ned Practice Workbook
Tilfeldig tallgeneratorer uten repetisjon.xlsx
9 metoder for å implementere tilfeldig tallgenerator i Excel uten repetisjoner
I de første 4 metodene vil du se bruken av nylig utgitte array-funksjoner, introdusert i Excel 365, for å generere tilfeldige tall uten repetisjon. Resten metodene er imidlertid egnet for alle Excel-versjoner, spesielt for de som bruker de tidligere versjonene av Excel. For å oppsummere kan du bruke de 9 metodene som en tilfeldig tallgenerator i Excel uten gjentakelser.
La oss gå inn på metodene.
1. Bruke RANDARRAY Funksjon
For det første ser vi bruken av RANDARRAY -funksjonen for å generere tilfeldige tall.
RANDARRAY -funksjonen, introdusert i Excel 365 , gir en liste over tilfeldige tall i matriseform. Og vi kan bruke funksjonen til å få tilfeldige tall uten dupliserte verdier.
For eksempel vil jeg produsere 20 tilfeldige tall uten repetisjon fra 1 til 200.
Under slike forhold vil formelen være somfølger-
=RANDARRAY(10,2,1,200,TRUE)
Her er 10 antall rader, 2 er antall kolonner, 1 er minimumsverdien, 200 er maksimumsverdien, og til slutt, TRUE er for heltall.
Denne metoden vil imidlertid være fruktbar hvis du vil ha noen få tall fra et stort utvalg av tall (f.eks. generere 10/20 tall fra 1 til 200/500). Ellers vil det skape dupliserte verdier.
Les mer: Excel Formel for å generere tilfeldig tall (5 eksempler)
2. Bruk av UNIQUE & ; RANDARRAY-funksjoner
For det andre bruker vi applikasjonen av UNIQUE -funksjonen så vel som RANDARRAY -funksjonen.
UNIQUE -funksjonen, tilgjengelig i Excel 365, Excel 2021-versjoner, returnerer en liste over unike verdier fra et gitt datasett eller celleområde. Så vi kan bruke to funksjoner for å produsere tilfeldige tall uten repetisjon.
Den kombinerte formelen vil være-
=UNIQUE(RANDARRAY(10,2,1,100,TRUE))
Her er 10 antall rader, 2 er antall kolonner, 1 er minimumsverdien, 200 er maksimal verdi, og til slutt er TRUE for heltall.
⧬ I formelen ovenfor brukte jeg RANDARRAY(10,2,1,100,TRUE) som en array for å generere 20 tilfeldige tall mellom 1 og 100. Senere vil UNIQUE funksjonen returnere unike verdier fra de genererte tilfeldige tallene.
3. Bruke SORTBY &SEQUENCE-funksjoner for å generere tilfeldige tall uten repetisjoner
For det tredje kan vi bruke kombinasjonen av noen dynamiske array-funksjoner.
SEQUENCE -funksjonen, kun tilgjengelig for Excel 365 &. ; Excel 2021-versjoner, produserer en liste (array) med sekvensielle tall.
Anta at du ønsker å få listen over tall fra 1 til 10, må du bruke følgende formel.
=SEQUENCE(10)
Her er 10 antall rader.
Deretter SORTBY -funksjonen sorterer en matrise med verdier basert på en annen matrise med verdier med stigende eller synkende rekkefølge. Derfor kan vi bruke funksjonen sammen med SEKVENS & RANDARRAY funksjon for å lage 10 tilfeldige tall uten repetisjon.
=SORTBY(SEQUENCE(10),RANDARRAY(10))
⧬ Mens vi forklarer formelen, kan vi si at RANDARRAY(10) produserer en liste med 10 tilfeldige tall. SEKVENS(10) syntaksen genererer en liste med 10 tall (sekvensielle). Og SEKVENS(10) og RANDARRAY(10) brukes som matrise -argument og etter_matrise argument i SORTBY funksjonen. Fordi vi ønsker å sortere den sekvensielle listen med tall etter tilfeldig rekkefølge.
Les mer: Hvordan generere tilfeldige tall med Excel VBA ( 4 eksempler)
4. Bruke INDEX-funksjonen som tilfeldig tallgenerator uten repetisjoner
Hvis vi ønsker å lage en liste med tilfeldige tall uten repetisjon,deretter INDEKS funksjonen sammen med den tidligere diskuterte RANDARRAY , SEKVENS & UNIQUE funksjonen vil være svært effektiv. Dessuten kan vi produsere 4 typer tilfeldige tall.
4.1. Produsere tilfeldige heltall
Når du trenger å generere 10 tilfeldige heltall mellom 1 og 100 uten repetisjon, bruk bare følgende formel.
=INDEX(UNIQUE(RANDARRAY(10, 1, 1, 100, TRUE)), SEQUENCE(10))
⧬ Mens vi forklarer formelen, kan vi si at SEKVENS(10) skaper 10 sekvensielle tall, RANDARRAY(10, 1, 1, 100, SANN) produserer 10 tilfeldige heltall mellom 1 og 100. Fordi TRUE brukes for å generere heltall. Senere fjerner UNIQUE funksjonen de repeterende verdiene fra de genererte tallene. Til slutt returnerer INDEKS funksjonen de 10 tilfeldige heltallene som anvist av SEKVENS funksjonen. I så fall brukes utgangsfunksjonen UNIQUE som en matrise.
4.2. Produsere tilfeldige desimaltall
Hvis du vil generere 10 tilfeldige desimaltall uten repetisjon, kan du bruke følgende formel.
=INDEX(UNIQUE(RANDARRAY(10, 1, 1, 100, FALSE)), SEQUENCE(10))
Her er 10 antall rader, 2 er antall kolonner, 1 er minimumsverdien, 100 er maksimumsverdien, og til slutt, FALSE er for å generere desimaltall.
4.3. Produsere et område med heltall
På samme måte kan dugenerer et område med tilfeldige heltall ved hjelp av følgende formel.
=INDEX(UNIQUE(RANDARRAY(20, 1, 1, 200, TRUE)), SEQUENCE(10,2))
Her er 20 antallet av rader, 1 er antall kolonner, 1 er minimumsverdien, 200 er maksimumsverdien, og til slutt, TRUE er for å generere heltall.
4.4. Produsere et område med tilfeldige desimaltall
For å generere et område med tilfeldige desimaltall mellom 1 og 100, bruk følgende formel.
=INDEX(UNIQUE(RANDARRAY(20, 1, 1, 100)), SEQUENCE(10, 2))
Her er 20 antall rader, 1 er antall kolonner, 1 er minimumsverdien, 200 er maksimumsverdien, og til slutt, FALSE er for å generere desimaltall.
Les mer: Generer tilfeldig tall i Excel med desimaler (3 metoder)
5. RAND & RANDBETWEEN-funksjoner for å generere tilfeldig tall
RAND -funksjonen genererer et tall mellom 0 til 1. Heldigvis er det svært liten mulighet for å generere dupliserte verdier mens du bruker RAND funksjon. Du kan få repeterende verdier hvis du krysser bruken av 100 000 ganger.
Så bruk formelen hvis du vil generere unike desimaltall
=RAND()
I tillegg returnerer RANDBETWEEN heltall mellom to gitte tall.
Hvis du for eksempel ønsker å få heltall mellom 1 og 100, kan du bruke formelennedenfor.
=RANDBETWEEN(1,100)
Her, 1 er bunnen argument og 100 er topp -argumentet.
Dessverre er det store muligheter for å ha repeterende verdier mens du bruker RANDBETWEEN funksjonen. I slike tilfeller kan du bruke alternativet Fjern duplikater fra fanen Data på båndet Dataverktøy etter å ha valgt celleområdet.
Les mer: Hvordan generere tilfeldige tall uten duplikater i Excel (7 måter)
Lignende avlesninger
- Generer tilfeldig tall mellom 0 og 1 i Excel (2 metoder)
- Tilfeldig 5-sifret tallgenerator i Excel (7 eksempler)
- Tilfeldig 4-sifret tallgenerator i Excel (8 eksempler)
- Generer tilfeldig tall fra liste i Excel (4 måter)
- Random Number Generator mellom Range i Excel (8 eksempler)
6. Bruk av RAND & RANK Fungerer som tilfeldig tallgenerator
I tillegg kan du bruke RANK funksjonen som returnerer den relative størrelsen til et tall basert på den gitte listen med tall. Før du gjør det, lag en liste over tilfeldige desimaltall ved å bruke RAND -funksjonen.
=RANK(B5,$B$5:$B$15)
Her, B5 er startcellen for desimaltall og B5:B15 er celleområdet for desimaltall.
Les mer : Excel VBA: Tilfeldig tallGenerator uten duplikater (4 eksempler)
7. Bruke kombinasjonen av RANK.EQ & COUNTIF-funksjoner
La oss si at du vil generere tilfeldige tall uten repetisjon fra 10 til 50.
I en slik situasjon kan du bruke kombinasjonen RANK.EQ & ; COUNTIF funksjoner for å generere repetisjonsfrie tilfeldige tall. Før du gjør det, lag en liste med tall mellom 10 og 50 ved å bruke RANDBETWEEN funksjonen.
Bruk nå formelen nedenfor-
=9+RANK.EQ(B5, $B$5:$B$15) + COUNTIF($B$5:B5, B5) - 1
Her er B5 startcellen for tilfeldige tall og B5:B15 er celleområdet for desimaltall.
⧬ Mens vi forklarer formelen, kan vi si at COUNTIF funksjonen teller hvert tilfeldig tall som er tilgjengelig i listen. Og RANK.EQ returnerer den relative posisjonen (rangeringen) for hvert tilfeldig tall, og til slutt må vi legge til 9 fordi vi ønsker å generere tallet fra 10.
8. STOR & MATCH funksjoner som tilfeldig tallgenerator i Excel
Vi kan også produsere tilfeldige heltall uten repetisjon ved å bruke kombinasjonen av LARGE og MATCH funksjonene. Funksjonen LARGE returnerer den kth største verdien i et gitt celleområde eller datasett.
=LARGE($B$5:$B$15,ROW(B1))
Her, $B$5:$B$15 er celleområdet for tilfeldige desimaltall som er funnet ved å bruke RAND funksjonen, RAD(B1) refererer til rad nummer 1.
Deretter må vi finne posisjonen til den opprettede største verdien ved å bruke følgende formel.
=MATCH(C5,$B$5:$B$15,0)
Her er C5 startcellen til de største tallene, $B$5:$B$15 er celleområdet til tilfeldige desimaltall, og til slutt, 0 er for å få et eksakt samsvar.
9. Analysis Toolpak som Random Number Generator i Excel
Til slutt, hvis du trenger å generere de tilfeldige tallene uten repetisjon i stedet for å bruke Excel-formlene, kan du bruke følgende tillegg til Excel.
For bruk av Tillegg , følg trinnene nedenfor.
⇰ Gå til Fil > Alternativer .
⇰ Klikk på Tillegg og velg Excel-tillegg fra rullegardinlisten og velg alternativet Gå .
⇰ Deretter vil du se følgende dialogboks, og merk av i boksen før Analysis ToolPak og trykk OK .
⇰ Velg nå alternativet Dataanalyse fra Data kategorien i Analyse båndet.
⇰ Velg deretter alternativet Generering av tilfeldige tall og trykk OK .
⇰ Umiddelbart vil du se følgende dialogboks.
⇰ Velg deretter alternativet basert på ønsket utdata.
⇰ For eksempel valgte jeg Antall variabler og Antall tilfeldige tall som 4 & 10 henholdsvis tilgenerer listen over tall som har 10 rader og 4 kolonner.
⇰ Enda viktigere, vi må velge Distribusjon som Uniform fordi vi ønsker å unngå repeterende verdier.
⇰ Senere betyr Mellom 10 og 30 at jeg vil finne tallet innenfor området.
⇰ Til slutt må du velge Utdataområde
Etter å ha utført alle oppgavene får du følgende utdata.
Les mer: Tilfeldig tallgenerator med dataanalyseverktøy og funksjoner i Excel
Noen vanlige feil
Du kan imidlertid møte følgende feil ved bruk av formelen ovenfor som en tilfeldig tallgenerator i Excel uten gjentakelser.
Navn på feil | Når oppstår |
---|---|
#CALC! | Hvis UNIQUE funksjonen ikke kan trekke ut de unike verdiene. |
#SPILL! | Hvis det er noen verdi i utslippsområdet hvor UNIQUE funksjonen vil returnere listen. |
#VERDI! | The RANDARRAY -funksjonen oppstår når minimumsverdien er større enn maksimumsverdien. |
Konklusjon
Slik kan du bruke ovenstående metoder som en tilfeldig tallgenerator i Excel uten repetisjoner. Velg nå hvilken som helst metode basert på dine preferanser. Jeg håper denne artikkelen vil lette Excel-reisen din.