Indholdsfortegnelse
Til specifikke formål (f.eks. telefonnummer, lotteri, statistisk prøvetagning) skal vi generere tilfældige tal uden gentagelse. Du kan dog få gentagne tilfældige tal, hvis du bruger de generelle Excel-formler. I denne artikel vil jeg diskutere de 9 metoder som en tilfældig talgenerator i Excel uden gentagelser sammen med den rigtige forklaring.
Download arbejdsbog til øvelser
Tilfældige talgeneratorer uden gentagelse.xlsx
9 Metoder til at implementere tilfældig talgenerator i Excel uden gentagelser
I de første 4 metoder ser du brugen af de nyligt frigivne array-funktioner, der blev introduceret i Excel 365, til at generere tilfældige tal uden gentagelse. Resten af metoderne er dog velegnede til alle Excel-versioner, især for dem, der bruger tidligere versioner af Excel. For at opsummere kan du bruge de 9 metoder som en generator af tilfældige tal i Excel uden gentagelser.
Lad os gå ind i metoderne.
1. Brug af funktionen RANDARRAY
For det første vil vi se brugen af RANDARRAY funktion til at generere tilfældige tal.
RANDARRAY funktionen, der blev introduceret i Excel 365, giver en liste over tilfældige tal i form af et array. Vi kan bruge funktionen til at få tilfældige tal uden dubletværdier.
Jeg ønsker f.eks. at producere 20 tilfældige tal uden gentagelse fra 1 til 200.
Under sådanne omstændigheder vil formlen være som følger-
=RANDARRAY(10,2,1,200,TRUE)
Her, 10 er antallet af rækker, 2 er antallet af kolonner, 1 er den mindste værdi, 200 er den maksimale værdi, og endelig, TRUE er for hele tal.
Denne metode vil dog være nyttig, hvis du ønsker nogle få tal fra et stort talområde (f.eks. generering af 10/20 tal fra 1 til 200/500). Ellers vil den skabe dublerede værdier.
Læs mere: Excel-formel til at generere tilfældige tal (5 eksempler)
2. Brug af UNIQUE & RANDARRAY-funktioner
For det andet vil vi bruge anvendelsen af den UNIK funktion samt den RANDARRAY funktion.
UNIK funktionen, der er tilgængelig i Excel 365, Excel 2021-versioner, returnerer en liste over unikke værdier fra et givet datasæt eller celleområde. Vi kan altså bruge to funktioner til at producere tilfældige tal uden gentagelse.
Den kombinerede formel vil være-
=UNIQUE(RANDARRAY(10,2,1,1,100,TRUE))
Her, 10 er antallet af rækker, 2 er antallet af kolonner, 1 er den mindste værdi, 200 er den maksimale værdi, og endelig, TRUE er for hele tal.
⧬ I ovenstående formel har jeg brugt RANDARRAY(10,2,2,1,100,TRUE) som et array til at generere 20 tilfældige tal mellem 1 og 100. Senere vil den UNIK funktionen returnerer unikke værdier fra de genererede tilfældige tal.
3. Anvendelse af SORTBY & SEQUENCE-funktioner til at generere tilfældige tal uden gentagelser
For det tredje kan vi udnytte kombinationen af nogle dynamiske array-funktioner.
SEQUENCE funktionen, som kun er tilgængelig for Excel 365 & Excel 2021-versioner, producerer en liste (array) af fortløbende numre.
Hvis du vil have en liste over tal fra 1 til 10, skal du bruge følgende formel.
=SEKVENS(10)
Her, 10 er antallet af rækker.
Dernæst SORTBY funktionen sorterer et array af værdier baseret på et andet array af værdier i stigende eller faldende rækkefølge. Derfor kan vi bruge funktionen sammen med funktionen SEQUENCE & RANDARRAY funktion til at skabe 10 tilfældige tal uden gentagelse.
=SORTBY(SEKVENS(10),RANDARRAY(10))
⧬ Mens vi forklarer formlen, kan vi sige, at RANDARRAY(10) producerer en liste med 10 tilfældige tal. SEQUENCE(10) syntaksen genererer en liste med 10 numre (sekventielt). Og SEQUENCE(10) og RANDARRAY(10) anvendes som array argument og by_array argument i SORTBY funktionen, fordi vi ønsker at sortere den sekventielle liste af tal i tilfældig rækkefølge.
Læs mere: Sådan genereres tilfældige tal med Excel VBA (4 eksempler)
4. Udnyttelse af INDEX-funktionen som generator af tilfældige tal uden gentagelser
Hvis vi ønsker at fremstille en liste med tilfældige tal uden gentagelser, kan vi bruge INDEX funktion sammen med den tidligere omtalte RANDARRAY , SEQUENCE & UNIK Vi kan også producere 4 typer af tilfældige tal.
4.1. Fremstilling af tilfældige hele tal
Når du har brug for at generere 10 tilfældige heltalstal mellem 1 og 100 uden gentagelse, skal du blot bruge følgende formel.
=INDEX(UNIK(RANDARRAY(10, 1, 1, 1, 100, SAND)), SEKVENS(10))
⧬ Mens vi forklarer formlen, kan vi sige, at SEQUENCE(10) skaber 10 fortløbende numre, RANDARRAY(10, 1, 1, 1, 100, TRUE) producerer 10 tilfældige hele tal mellem 1 og 100. Fordi TRUE bruges til at generere heltalstal. Senere anvendes UNIK funktionen fjerner de gentagende værdier fra de genererede tal. Endelig fjerner INDEX funktionen returnerer de 10 tilfældige hele tal som anvist af SEQUENCE funktion. I så fald vil output UNIK funktionen anvendes som et array.
4.2. Fremstilling af tilfældige decimaltal
Hvis du vil generere 10 tilfældige decimaltal uden gentagelse, kan du bruge følgende formel.
=INDEX(UNIK(RANDARRAY(10, 1, 1, 1, 100, FALSE)), SEKVENS(10))
Her, 10 er antallet af rækker, 2 er antallet af kolonner, 1 er den mindste værdi, 100 er den maksimale værdi, og endelig, FALSK er til generering af decimaltal.
4.3. Fremstilling af et interval af hele tal
På samme måde kan du generere en række tilfældige heltalstal ved hjælp af følgende formel.
=INDEX(UNIK(RANDARRAY(20, 1, 1, 1, 200, SAND)), SEKVENS(10,2))
Her, 20 er antallet af rækker, 1 er antallet af kolonner, 1 er den mindste værdi, 200 er den maksimale værdi, og endelig, TRUE er til at generere heltalstal.
4.4. Fremstilling af en række tilfældige decimaltal
For at generere en række tilfældige decimaltal mellem 1 og 100 kan du bruge følgende formel.
=INDEX(UNIK(RANDARRAY(20, 1, 1, 1, 100)), SEKVENS(10, 2))
Her, 20 er antallet af rækker, 1 er antallet af kolonner, 1 er den mindste værdi, 200 er den maksimale værdi, og endelig, FALSK er til generering af decimaltal.
Læs mere: Generer tilfældige tal i Excel med decimaler (3 metoder)
5. RAND & RANDBETWEEN-funktioner til generering af tilfældige tal
RAND funktionen genererer et tal mellem 0 og 1. Heldigvis er der meget lille mulighed for at generere dobbelte værdier, når man bruger RAND Du kan få gentagne værdier, hvis du overskrider 100000 gange.
Så brug formlen, hvis du vil generere unikke decimaltal
=RAND()
Desuden er det RANDBETWEEN returnerer heltalstal mellem to angivne tal.
Hvis du f.eks. ønsker at få de hele tal mellem 1 og 100, kan du bruge nedenstående formel.
= MELLEMRUM(1,100)
Her, 1 er den bund argument og 100 er den top argument.
Desværre er der stor mulighed for at få gentagne værdier, når man bruger RANDBETWEEN I så fald kan du bruge funktionen Fjern dubletter fra Data i fanen i Dataværktøjer når du har valgt celleområdet.
Læs mere: Sådan genereres tilfældige numre uden dubletter i Excel (7 måder)
Lignende læsninger
- Generer tilfældige tal mellem 0 og 1 i Excel (2 metoder)
- Generator af tilfældige 5-cifrede tal i Excel (7 eksempler)
- Generator af tilfældige 4-cifrede tal i Excel (8 eksempler)
- Generer tilfældige tal fra en liste i Excel (4 måder)
- Generator af tilfældige tal mellem områder i Excel (8 eksempler)
6. Anvendelse af RAND & RANK-funktioner som tilfældig talgenerator
Desuden kan du bruge RANK funktion, som returnerer den relative størrelse af et tal baseret på den givne liste af tal. Før du gør det, opretter du en liste af tilfældige decimaltal ved hjælp af RAND funktion.
=RANG(B5,$B$5:$B$15)
Her, B5 er startcellen for decimaltal og B5:B15 er celleområdet for decimaltal.
Læs mere: Excel VBA: Generator af tilfældige tal uden dubletter (4 eksempler)
7. Brug af kombinationen af RANK.EQ & COUNTIF-funktioner
Lad os sige, at du ønsker at generere tilfældige tal uden gentagelse fra 10 til 50.
I en sådan situation kan du bruge kombinationen af RANK.EQ & COUNTIF funktioner til at generere tilfældige tal uden gentagelser. Før du gør det, skal du oprette en liste med tal mellem 10 og 50 ved hjælp af RANDBETWEEN funktion.
Brug nu formlen nedenfor-
=9+RANK.EQ(B5, $B$5:$B$15) + COUNTIF($B$5:B5, B5) - 1
Her, B5 er startcellen med tilfældige tal og B5:B15 er celleområdet for decimaltal.
⧬ Mens vi forklarer formlen, kan vi sige, at den COUNTIF funktionen tæller hvert tilfældigt tal, der er tilgængeligt på listen. Og funktionen RANK.EQ returnerer den relative position (rang) for hvert tilfældigt tal, og endelig skal vi tilføje 9 fordi vi ønsker at generere tallet fra 10.
8. LARGE & MATCH-funktioner som generator af tilfældige tal i Excel
Vi kan også producere tilfældige hele tal uden gentagelse ved hjælp af kombinationen af LARGE og MATCH funktioner. LARGE funktionen returnerer den k-te største værdi i et givet celleområde eller datasæt.
=LARGE($B$5:$B$15,ROW(B1))
Her, $B$5:$B$15 er celleområdet for tilfældige decimaltal, der findes ved hjælp af RAND funktion, RÆK(B1) henviser til række nr. 1.
Dernæst skal vi finde placeringen af den største værdi ved hjælp af følgende formel.
=MATCH(C5,$B$5:$B$15,0)
Her, C5 er startcellen for de største tal, $B$5:$B$15 er celleområdet med tilfældige decimaltal, og endelig, 0 er til at få et nøjagtigt match.
9. Analysis Toolpak som generator af tilfældige tal i Excel
Endelig, hvis du har brug for at generere tilfældige tal uden gentagelse i stedet for at bruge Excel-formlerne, kan du bruge følgende Tilføjelser af Excel.
Til brug af Tilføjelser , skal du følge nedenstående trin.
⇰ Gå til Fil > Indstillinger .
⇰ Klik på den Tilføjelser og vælg Excel-tilføjelser fra rullelisten, og vælg indstillingen Gå til .
⇰ Derefter vises følgende dialogboks, og marker afkryds feltet før Analyse ToolPak og tryk på OK .
⇰ Vælg nu den Analyse af data fra Data i fanen i Analyse bånd.
⇰ Vælg derefter indstillingen Generering af tilfældige tal og tryk på OK .
⇰ Du får straks følgende dialogboks vist.
⇰ Vælg derefter den indstilling, der er baseret på det ønskede output.
⇰ Jeg har f.eks. valgt Antal variabler og Antal tilfældige numre som 4 & 10 for at generere listen over tal med henholdsvis 10 rækker og 4 søjler.
⇰ Endnu vigtigere er det, at vi skal vælge den Distribution som Ensartet fordi vi ønsker at undgå gentagende værdier.
⇰ Senere, Mellem 10 og 30 betyder, at jeg ønsker at finde et tal inden for intervallet.
⇰ Endelig skal du vælge den Udgangsområde
Når du har udført alle opgaverne, får du følgende resultat.
Læs mere: Generator af tilfældige tal med dataanalyseværktøj og funktioner i Excel
Nogle almindelige fejl
Du kan dog få følgende fejl, når du bruger ovenstående formel som en tilfældig talgenerator i Excel uden gentagelser.
Navn på fejlene | Hvornår opstår |
---|---|
#CALC! | Hvis den UNIK funktionen kan ikke udtrække de unikke værdier. |
#SPILL! | Hvis der er en værdi i det spildområde, hvor UNIK funktionen returnerer listen. |
#VALUE! | RANDARRAY funktionen opstår, når minimumsværdien er større end maksimumsværdien. |
Konklusion
Sådan kan du bruge ovenstående metoder som en tilfældig talgenerator i Excel uden gentagelser. Vælg nu en metode baseret på dine præferencer. Jeg håber, at denne artikel vil lette din Excel-rejse.