Download het voorbeeldwerkboek
Deze zelfstudie laat zien hoe u de Excel RAND-functie in Excel om een willekeurig getal te berekenen.
Overzicht RAND-functie
De RAND-functie Berekent een willekeurig getal tussen 0 en 1.
Om de RAND Excel-werkbladfunctie te gebruiken, selecteert u een cel en typt u:
(Let op hoe de formule-invoer verschijnt)
RAND-functie Syntaxis en ingangen:
1 | =ASELECT() |
Hoe de RAND-functie in Excel te gebruiken:
De RAND-functie genereert getallen (decimalen) groter dan 0 en kleiner dan 1.
1 | =ASELECT() |
Opmerking: RANDARRAY is een nieuwe functie in Excel vanaf 2022 en vervangt de RAND-functie. Maar als u niet over de nieuwste versie beschikt of het bestand moet verzenden voor mensen die het nog niet hebben, kunt u nog steeds de RAND-functie gebruiken voor achterwaartse compatibiliteit.
Naast het genereren van willekeurige getallen groter dan 0 en kleiner dan 1, kunt u met RANDARRAY kiezen hoeveel rijen en kolommen u de willekeurige getallen wilt plaatsen, het minimum en maximum aantal kiezen in plaats van alleen 0 en 1, en zelfs kiezen of u hele getallen of decimalen.
Als je Excel 2007 en later hebt, kun je ook RANDBETWEEN gebruiken. Net als RANDARRAY kun je het minimum en maximum aantal kiezen in plaats van alleen 0 en 1. Dit voorbeeld hieronder toont willekeurige getallen tussen 1 en 100.
Zoals gezegd doen RANDARRAY en RANDBETWEEN dit gemakkelijk. Met RAND moet je het als volgt doen:
1 | =INT(ASELECT()*($B$6-$B$3)+$B$3) |
De formule is in feite =RAND()*(Maximumaantal - Minimumaantal) + Minimumaantal. En omwikkel het met een INT om het gehele getal te pakken.
Genereer willekeurige datums of/en tijd
Als u weet hoe datums en tijd worden opgeslagen in Excel, zal de logica hetzelfde zijn als hierboven omdat ze als getallen worden opgeslagen. Alleen maar:
1 | =INT(ASELECT()*($B$6-$B$3)+$B$3) |
Tijd is vergelijkbaar, behalve dat het decimaal is in plaats van een geheel getal of geheel getal. Verwijder daarom de INT:
1 | =RAND()*($B$6-$B$3)+$B$3 |
Om ze allebei bij elkaar te hebben, voeg je ze gewoon bij elkaar:
1 | =INT(RAND()*($B$6-$B$3)+$B$3)+RAND()*($C$6-$C$3)+$C$33 |
Als u alleen decimalen willekeurig wilt verdelen, is RAND op zichzelf perfect. Meestal willen we echter een willekeurig veld ophalen. Om bijvoorbeeld een willekeurige werknemer in B3:B7 te pakken, kunt u een RAND-functie gebruiken om aan elke werknemer toe te wijzen, en INDEX en LARGE om een willekeurige werknemer te pakken:
1 | =INDEX(B3:B7,RANG(C3,C3:C7)) |
De RAND-functie zal getallen in C3:C7 willekeurig maken. RANK vergelijkt het willekeurige getal in cel C3 tussen C3:C7 en rangschikt het getal in aflopende volgorde. 0.0843531593276469 bijvoorbeeld, staat op nummer 3 onder C3:C7. INDEX pakt rij nummer 3 uit B3:B7 en dat is Sebastian Thompson.
Druk op de F9-toets en de RAND-functie zal opnieuw berekenen. De waarde van 0,180669763264754 in cel C3 staat nu op de 5e plaats van de getallen in C3:C7 en toont dus de 5e rij in B3:B7 en dat is Cairo Mccall.
Houd er rekening mee dat hoewel het uiterst onwaarschijnlijk is dat de RAND-functie een duplicaatnummer genereert, het theoretisch nog steeds mogelijk is.
Voeg een AANTAL.ALS toe aan de formule om ervoor te zorgen dat er geen duplicaten zijn.
1 | =INDEX($B$3:$B$7,RANG(C3,$C$3:$C$7)+AANTAL.ALS($C$3:C3,C3)-1) |
In het bovenstaande zijn er bijvoorbeeld twee gevallen van 0.834312895315874. Daarom rangschikken ze allebei hetzelfde op 5. Met de AANTAL.ALS min 1 toegevoegd, zou de eerste rang van 0,834312895315874 5 + 1 -1 (5) zijn en de tweede rang van 0,834312895315874 zou 5 + 2 - 1 (6) zijn en dus verschillende rijen oppakken.
De RAND-functie werkt in Google Spreadsheets precies hetzelfde als in Excel:
extra notities
Gebruik de RAND-functie om een willekeurig getal tussen 0 en 1 te berekenen.=rand()
Keer terug naar de lijst met alle functies in Excel