Inhoudsopgave
Voor specifieke doeleinden (bv. telefoonnummer, loterij, statistische steekproeven) moeten we willekeurige getallen genereren zonder herhalingen. U kunt echter herhaalde willekeurige getallen krijgen als u de algemene Excel-formules gebruikt. In dit artikel bespreek ik de 9 methoden als willekeurige getallengenerator in Excel zonder herhalingen, samen met de juiste uitleg.
Download Praktijk Werkboek
Random Number Generators zonder herhaling.xlsx
9 Methodes om Random Number Generator in Excel te implementeren zonder herhalingen
In de eerste 4 methoden ziet u het gebruik van de nieuwe arrayfuncties, geïntroduceerd in Excel 365, om willekeurige getallen te genereren zonder herhaling. De overige methoden zijn echter geschikt voor alle Excel-versies, speciaal voor degenen die de eerdere versies van Excel gebruiken. Kortom, u kunt de 9 methoden gebruiken als een willekeurige getallengenerator in Excel zonder herhalingen.
Laten we de methoden bekijken.
1. De functie RANDARRAY gebruiken
Ten eerste zien we het gebruik van de RANDARRAY functie om willekeurige getallen te genereren.
De RANDARRAY functie, geïntroduceerd in Excel 365, levert een lijst van willekeurige getallen op in matrixvorm. En we kunnen de functie gebruiken om willekeurige getallen te krijgen zonder dubbele waarden.
Ik wil bijvoorbeeld 20 willekeurige getallen produceren zonder herhaling van 1 tot 200.
In die omstandigheden ziet de formule er als volgt uit-
=RANDARRAY(10,2,1,200,TRUE)
Hier, 10 is het aantal rijen, 2 is het aantal kolommen, 1 is de minimumwaarde, 200 is de maximale waarde, en tenslotte, WARE is voor gehele getallen.
Deze methode zal echter vruchtbaar zijn als u een paar getallen uit een groot getallenbereik wilt hebben (bv. 10/20 getallen genereren van 1 tot 200/500). Anders zullen er dubbele waarden ontstaan.
Lees meer: Excel formule om willekeurig getal te genereren (5 voorbeelden)
2. UNIQUE & RANDARRAY-functies gebruiken
Ten tweede zullen we de toepassing van de UNIEK functie en de RANDARRAY functie.
De UNIEK functie, beschikbaar in Excel 365, Excel 2021 versies, retourneert een lijst van unieke waarden uit een gegeven dataset of celbereik. We kunnen dus twee functies gebruiken om willekeurige getallen te produceren zonder herhaling.
De gecombineerde formule is...
=UNIQUE(RANDARRAY(10,2,1,100,TRUE))
Hier, 10 is het aantal rijen, 2 is het aantal kolommen, 1 is de minimumwaarde, 200 is de maximale waarde, en tenslotte, WARE is voor gehele getallen.
⧬ In de bovenstaande formule gebruikte ik RANDARRAY(10,2,1,100,TRUE) als een array om 20 willekeurige getallen tussen 1 en 100 te genereren. Later zal de UNIEK functie zal unieke waarden teruggeven van de gegenereerde willekeurige getallen.
3. Toepassing van de functies SORTBY & SEQUENCE om willekeurige getallen zonder herhalingen te genereren
Ten derde kunnen wij gebruik maken van de combinatie van enkele dynamische matrixfuncties.
De SEQUENCE functie, alleen toegankelijk voor Excel 365 & Excel 2021 versies, produceert een lijst (array) van opeenvolgende nummers.
Stel dat u de lijst met getallen van 1 tot 10 wilt krijgen, dan moet u de volgende formule gebruiken.
=SEQUENCE(10)
Hier, 10 is het aantal rijen.
Vervolgens wordt de SORTBY functie sorteert een matrix van waarden op basis van een andere matrix van waarden in oplopende of aflopende volgorde. Daarom kunnen we de functie gebruiken samen met de SEQUENCE & RANDARRAY functie om 10 willekeurige getallen te maken zonder herhaling.
=SORTBY(SEQUENCE(10),RANDARRAY(10))
⧬ Bij de uitleg van de formule kunnen we zeggen dat RANDARRAY(10) produceert een lijst van 10 willekeurige getallen. De SEQUENCE(10) syntaxis genereert een lijst van 10 nummers (opeenvolgend). En SEQUENCE(10) en RANDARRAY(10) worden gebruikt als array argument en bij_array argument in de SORTBY functie. Omdat we de lijst met nummers in willekeurige volgorde willen sorteren.
Lees meer: Willekeurig getal genereren met Excel VBA (4 voorbeelden)
4. De INDEX-functie gebruiken als willekeurige getallengenerator zonder herhalingen
Als we een lijst van willekeurige getallen willen produceren zonder herhaling, dan is de INDEX functie samen met de eerder besproken RANDARRAY , SEQUENCE & UNIEK functie zal zeer effectief zijn. Ook kunnen we 4 soorten willekeurige getallen produceren.
4.1. Productie van willekeurige gehele getallen
Wanneer u 10 willekeurige gehele getallen tussen 1 en 100 moet genereren zonder herhaling, gebruikt u gewoon de volgende formule.
=INDEX(UNIEK(RANDARRAY(10, 1, 1, 100, TRUE)), REEKS(10))
⧬ Terwijl we de formule uitleggen, kunnen we zeggen dat SEQUENCE(10) maakt 10 opeenvolgende nummers, RANDARRAY(10, 1, 1, 100, TRUE) produceert 10 willekeurige gehele getallen tussen 1 en 100. Omdat WARE wordt gebruikt voor het genereren van gehele getallen. Later zal de UNIEK functie verwijdert de herhalingswaarden uit de gegenereerde getallen. Tenslotte kan de INDEX functie geeft de 10 willekeurige gehele getallen terug zoals aangegeven door de SEQUENCE functie. In dat geval is de uitvoer UNIEK functie wordt gebruikt als een array.
4.2. Willekeurige decimale getallen produceren
Als u 10 willekeurige decimale getallen zonder herhaling wilt genereren, kunt u de volgende formule gebruiken.
=INDEX(UNIEK(RANDARRAY(10, 1, 1, 100, FALSE)), REEKS(10))
Hier, 10 is het aantal rijen, 2 is het aantal kolommen, 1 is de minimumwaarde, 100 is de maximale waarde, en tenslotte, FALSE is voor het genereren van decimale getallen.
4.3. Een reeks gehele getallen produceren
Op dezelfde manier kunt u een reeks willekeurige gehele getallen genereren met de volgende formule.
=INDEX(UNIQUE(RANDARRAY(20, 1, 1, 200, TRUE)), SEQUENCE(10,2))
Hier, 20 is het aantal rijen, 1 is het aantal kolommen, 1 is de minimumwaarde, 200 is de maximale waarde, en tenslotte, WARE is voor het genereren van gehele getallen.
4.4. Productie van een reeks willekeurige decimale getallen
Gebruik de volgende formule om een reeks willekeurige decimale getallen tussen 1 en 100 te genereren.
=INDEX(UNIEK(RANDARRAY(20, 1, 1, 100)), REEKS(10, 2))
Hier, 20 is het aantal rijen, 1 is het aantal kolommen, 1 is de minimumwaarde, 200 is de maximale waarde, en tenslotte, FALSE is voor het genereren van decimale getallen.
Lees meer: Willekeurig getal genereren in Excel met decimalen (3 methoden)
5. RAND & RANDBETWEEN Functies voor het genereren van willekeurige getallen.
De RAND functie genereert een getal tussen 0 en 1. Gelukkig is er zeer weinig kans op het genereren van dubbele waarden bij gebruik van de RAND functie. U kunt herhalende waarden krijgen als u de 100000 keer overschrijdt.
Gebruik dus de formule als u unieke decimale getallen wilt genereren
=RAND()
Bovendien zijn de RANDBETWEEN geeft gehele getallen tussen twee gegeven getallen.
Als u bijvoorbeeld de gehele getallen tussen 1 en 100 wilt krijgen, kunt u de onderstaande formule gebruiken.
=RANDBETWEEN(1,100)
Hier, 1 is de bodem argument en 100 is de top argument.
Helaas is er veel kans op herhalende waarden bij het gebruik van de RANDBETWEEN functie. In dat geval kunt u de Duplicaten verwijderen optie van de Gegevens tabblad in de Gegevensinstrumenten lint na het selecteren van het celbereik.
Lees meer: Hoe willekeurige getallen genereren zonder duplicaten in Excel (7 manieren)
Vergelijkbare lezingen
- Genereer willekeurige getallen tussen 0 en 1 in Excel (2 methoden)
- Willekeurige 5-cijferige getallengenerator in Excel (7 voorbeelden)
- Willekeurige 4-cijferige getallengenerator in Excel (8 voorbeelden)
- Genereer willekeurig getal uit lijst in Excel (4 manieren)
- Random Number Generator tussen bereik in Excel (8 voorbeelden)
6. Toepassing van RAND & RANK-functies als generator van willekeurige getallen
Bovendien kunt u de RANK functie die de relatieve grootte van een getal teruggeeft op basis van de gegeven lijst met getallen. Maak eerst een lijst met willekeurige decimale getallen met behulp van de RAND functie.
=RANK(B5,$B$5:$B$15)
Hier, B5 is de startcel van decimale getallen en B5:B15 is het celbereik voor decimale getallen.
Lees meer: Excel VBA: Random Number Generator zonder duplicaten (4 voorbeelden)
7. Gebruik van de combinatie van de functies RANK.EQ & COUNTIF
Laten we zeggen dat u willekeurige getallen wilt genereren zonder herhaling van 10 tot 50.
In een dergelijke situatie zou u de combinatie van RANK.EQ & COUNTIF functies om herhalingsvrije willekeurige getallen te genereren. Maak eerst een lijst met getallen tussen 10 en 50 met behulp van de RANDBETWEEN functie.
Gebruik nu de onderstaande formule-
=9+RANK.EQ(B5, $B$5:$B$15) + COUNTIF($B$5:B5, B5) - 1
Hier, B5 is de startcel van willekeurige getallen en B5:B15 is het celbereik voor decimale getallen.
⧬ Terwijl we de formule uitleggen, kunnen we zeggen dat de COUNTIF functie telt elk willekeurig nummer dat beschikbaar is in de lijst. En de RANK.EQ geeft de relatieve positie (rang) voor elk willekeurig getal, en tenslotte moeten we toevoegen 9 omdat we het getal vanaf 10 willen genereren.
8. LARGE & MATCH functies als Random Number Generator in Excel
Ook kunnen we willekeurige gehele getallen zonder herhaling produceren door de combinatie van de GROOT en MATCH functies. GROOT functie geeft de k-de grootste waarde in een gegeven celbereik of dataset.
=LARGE($B$5:$B$15,ROW(B1))
Hier, $B$5:$B$15 is het celbereik voor willekeurige decimale getallen die worden gevonden met de RAND functie, ROW(B1) verwijst naar rij nummer 1.
Vervolgens moeten we de positie van de gecreëerde grootste waarde vinden met behulp van de volgende formule.
=MATCH(C5,$B$5:$B$15,0)
Hier, C5 is de startcel van de grootste getallen, $B$5:$B$15 is het celbereik van willekeurige decimale getallen, en tenslotte, 0 is om een exacte overeenkomst te krijgen.
9. Analysis Toolpak als Random Number Generator in Excel
Indien u ten slotte de willekeurige getallen zonder herhaling wilt genereren in plaats van de Excel-formules te gebruiken, kunt u het volgende doen Toevoegingen van Excel.
Voor het gebruik van de Toevoegingen volg de onderstaande stappen.
Ga naar Bestand > Opties .
⇰ Klik op de Toevoegingen en selecteer Excel-add-ins uit de vervolgkeuzelijst en kies de optie Ga naar .
⇰ Dan ziet u het volgende dialoogvenster, en vinkt u het vakje voor het Analyse ToolPak en druk op OK .
Selecteer nu de Gegevensanalyse optie van de Gegevens tabblad in de Analyse lint.
Kies vervolgens de optie Genereren van willekeurige getallen en druk op OK .
Onmiddellijk ziet u het volgende dialoogvenster.
⇰ Kies vervolgens de optie op basis van uw gewenste uitvoer.
Bijvoorbeeld, ik selecteerde Aantal variabelen en Aantal willekeurige getallen als 4 & 10 om respectievelijk de lijst van getallen met 10 rijen en 4 kolommen.
⇰ Belangrijker nog, we moeten de Distributie als Uniform omdat we repeterende waarden willen vermijden.
Later, Tussen 10 en 30 betekent dat ik het getal binnen het bereik wil vinden.
⇰ Tot slot moet u de Uitvoerbereik
Na het uitvoeren van alle taken krijgt u de volgende uitvoer.
Lees meer: Random Number Generator met data-analyse tool en functies in Excel
Enkele veel voorkomende fouten
U kunt echter de volgende fouten tegenkomen wanneer u de bovenstaande formule gebruikt als willekeurige getallengenerator in Excel zonder herhalingen.
Naam van de fouten | Wanneer komt het voor? |
---|---|
#CALC! | Als de UNIEK functie kan de unieke waarden niet extraheren. |
#SPILL! | Als er een waarde is in het morsbereik waar de UNIEK functie geeft de lijst terug. |
#WAARDE! | De RANDARRAY functie treedt op wanneer de minimumwaarde groter is dan de maximumwaarde. |
Conclusie
Dit is hoe u de bovenstaande methoden kunt gebruiken als een willekeurige nummergenerator in Excel zonder herhalingen. Kies nu een methode op basis van uw voorkeur. Ik hoop dat dit artikel uw Excel-reis zal vergemakkelijken.