Funkciji RAND in RANDBETWEEN za generiranje naključnih številk v Excelu

  • Deliti To
Michael Brown

V učbeniku so razložene posebnosti algoritma generatorja naključnih števil Excel in prikazano, kako s funkcijama RAND in RANDBETWEEN ustvariti naključna števila, datume, gesla in druge besedilne nize v Excelu.

Preden se poglobimo v različne tehnike ustvarjanja naključnih številk v Excelu, opredelimo, kaj pravzaprav so. V preprosti angleščini so naključni podatki niz številk, črk ali drugih simbolov, ki nimajo vzorca.

Naključnost se uporablja v kriptografiji, statistiki, loteriji, igrah na srečo in na številnih drugih področjih. Ker je bila vedno iskana, že od nekdaj obstajajo različne metode za ustvarjanje naključnih števil, kot so metanje kovancev, metanje kock, mešanje igralnih kart itd. Seveda se v tem učbeniku ne bomo opirali na takšne "eksotične" tehnike in se bomo osredotočili nakaj lahko ponudi generator naključnih števil Excel.

    Excelov generator naključnih številk - osnove

    Čeprav je Excelov generator naključij zadovoljiv pri vseh standardnih testih naključnosti, ne ustvari Resnično naključnih številk. Vendar ga ne odpišite takoj :) Psevdonaključni števila, ki jih ustvarijo naključne funkcije programa Excel, so primerna za številne namene.

    Podrobneje si oglejmo algoritem naključnega generatorja Excel, da boste vedeli, kaj lahko pričakujete od njega in česa ne.

    Tako kot večina računalniških programov tudi Excelov generator naključnih števil proizvaja psevdonaključna števila z uporabo nekaterih matematičnih formul. Za vas to pomeni, da so naključna števila, ki jih generira Excel, teoretično predvidljiva, če nekdo pozna vse podrobnosti algoritma generatorja. To je razlog, zakaj ni bil nikoli dokumentiran in skoraj nikoli ne bo. No, kaj vemo o generatorju naključnih števil v Excelu?

    • Excelovi funkciji RAND in RANDBETWEEN ustvarjata psevdonaključna števila iz Enota distribucija Prav tako imenovana pravokotna porazdelitev, pri kateri je verjetnost za vse vrednosti, ki jih naključna spremenljivka lahko zavzame, enaka. Dober primer enakomerne porazdelitve je metanje ene kocke. Rezultat metanja je šest možnih vrednosti (1, 2, 3, 4, 5, 6) in vsaka od teh vrednosti je enako verjetna. Za bolj znanstveno razlago obiščite spletno stran wolfram.com.
    • Excelove funkcije RAND ali RANDBETWEEN, ki naj bi se inicializirale iz sistemskega časa računalnika, ni mogoče posejati. Tehnično je funkcija seme je izhodišče za generiranje zaporedja naključnih števil. Vsakič, ko se pokliče funkcija Excel random, se uporabi novo seme, ki vrne edinstveno naključno zaporedje. Z drugimi besedami, pri uporabi generatorja naključnih števil v Excelu ne morete dobiti ponovljivega zaporedja s funkcijo RAND ali RANDBETWEEN, niti s funkcijo VBA ali na kakršen koli drug način.
    • V zgodnjih različicah programa Excel, pred Excelom 2003, je imel algoritem za generiranje naključnih števil razmeroma majhno obdobje (manj kot 1 milijon neponovljivih naključnih zaporedij števil) in ni opravil več standardnih testov naključnosti pri dolgih naključnih zaporedjih. Če torej kdo še vedno dela s staro različico programa Excel, funkcije RAND raje ne uporabljajte pri velikih simulacijskih modelih.

    Če iščete Resnično naključnih podatkov, lahko verjetno uporabite generator naključnih števil tretje osebe, kot je www.random.org, katerega naključnost izhaja iz atmosferskega šuma. Nudijo brezplačne storitve za generiranje naključnih števil, iger in loterij, barvnih kod, naključnih imen, gesel, alfanumeričnih nizov in drugih naključnih podatkov.

    Ok, ta precej dolg tehnični uvod se končuje in prehajamo na praktične in bolj uporabne stvari.

    Excelova funkcija RAND - ustvarjanje naključnih realnih števil

    Spletna stran RAND v Excelu je ena od dveh funkcij, posebej zasnovanih za generiranje naključnih števil. Vrne naključno decimalno število (realno število) med 0 in 1.

    RAND() je nestalna funkcija, kar pomeni, da se novo naključno število ustvari ob vsakem izračunu delovnega lista. To se zgodi vsakič, ko v delovnem listu izvedete kakršno koli dejanje, na primer posodobite formulo (ne nujno formulo RAND, temveč katero koli drugo formulo v listu), uredite celico ali vnesete nove podatke.

    Funkcija RAND je na voljo v vseh različicah programa Excel 365 - 2000.

    Ker Excelova funkcija RAND nima argumentov, preprosto vnesete =RAND() v celici in nato kopirajte formulo v poljubno število celic:

    Zdaj pa naredimo še korak naprej in napišimo nekaj formul RAND za generiranje naključnih števil v skladu z vašimi pogoji.

    Formula 1. Navedite zgornjo mejno vrednost območja

    Ustvarjanje naključnih števil med nič in poljubno N vrednost, pomnožite funkcijo RAND z N:

    RAND()* N

    Če želite na primer ustvariti zaporedje naključnih števil, ki je večje ali enako 0, vendar manjše od 50, uporabite naslednjo formulo:

    =RAND()*50

    Opomba: V vrnjenem naključnem zaporedju ni nikoli vključena zgornja mejna vrednost. Če želite na primer dobiti naključna števila med 0 in 10, vključno z 10, je prava formula =RAND()*11 .

    Formula 2. Generiranje naključnih števil med dvema številkama

    Če želite ustvariti naključno število med poljubnima številoma, ki ju določite, uporabite naslednjo formulo RAND:

    RAND()*(( B - A )+ A

    Kje: A je spodnja mejna vrednost (najmanjše število) in B je zgornja mejna vrednost (največje število).

    Za generiranje naključnih številk med 10 in 50 lahko na primer uporabite naslednjo formulo:

    =RAND()*(50-10)+10

    Opomba: Ta naključna formula nikoli ne bo vrnila števila, ki je enako največjemu številu v določenem območju ( B vrednost).

    Formula 3. Generiranje naključnih celih števil v Excelu

    Če želite, da Excelova funkcija RAND pripravi naključna cela števila, vzemite katero koli od zgoraj navedenih formul in jo zavijte v funkcijo INT.

    Ustvarjanje naključnih celih števil med 0 in 50:

    =INT(RAND()*50)

    Ustvarjanje naključnih celih števil med 10 in 50:

    =INT(RAND()*(50-10)+10)

    Funkcija Excel RANDBETWEEN - generiranje naključnih celih števil v določenem območju

    RANDBETWEEN je še ena funkcija, ki jo Excel ponuja za generiranje naključnih števil. cela števila v razponu, ki ga določite:

    RANDBETWEEN(spodaj, zgoraj)

    Očitno, b ottom je najnižje število in top je najvišje število v območju naključnih števil, ki ga želite dobiti.

    Tako kot RAND je tudi Excelova funkcija RANDBETWEEN nestalna funkcija in ob vsakem ponovnem izračunu vrne novo naključno celo število.

    Za generiranje naključnih celih števil med 10 in 50 (vključno z 10 in 50) na primer uporabite naslednjo formulo RANDBETWEEN:

    =MED(10, 50)

    Funkcija RANDBETWEEN v Excelu lahko ustvari pozitivna in negativna števila. Če želite na primer dobiti seznam naključnih celih števil od -10 do 10, vnesite v delovni list naslednjo formulo:

    =RANDBETWEEN(-10, 10)

    Funkcija RANDBETWEEN je na voljo v programih Excel 365 - Excel 2007. V prejšnjih različicah lahko uporabite formulo RAND, prikazano v zgornjem primeru 3.

    V nadaljevanju tega priročnika boste našli še nekaj primerov formul, ki prikazujejo uporabo funkcije RANDBETWEEN za ustvarjanje naključnih vrednosti, ki niso cela števila.

    Nasvet. V Excelu 365 in Excelu 2021 lahko uporabite funkcijo dinamičnega polja RANDARRAY, ki vrne polje naključnih števil med poljubnima številoma, ki ju določite.

    Ustvarjanje naključnih števil z določenimi decimalnimi mesti

    Čeprav je bila funkcija RANDBEETWEEN v Excelu zasnovana za vračanje naključnih celih števil, jo lahko prisilite, da vrača naključna decimalna števila s poljubnim številom decimalnih mest.

    Če želite na primer dobiti seznam števil z enim decimalnim mestom, pomnožite spodnjo in zgornjo vrednost z 10, nato pa vrnjeno vrednost delite z 10:

    RANDBETWEEN( spodnja vrednost * 10, najvišja vrednost * 10)/10

    Naslednja formula RANDBETWEEN vrne naključna decimalna števila med 1 in 50:

    =MED(1*10, 50*10)/10

    Če želite ustvariti naključna števila med 1 in 50 z dvema decimalnima mestoma, pomnožite argumente funkcije RANDBETWEEN s 100 in nato rezultat delite s 100:

    =RAZPON MED(1*100, 50*100) / 100

    Kako ustvariti naključne datume v Excelu

    Če želite vrniti seznam naključnih datumov med danima datumoma, uporabite funkcijo RANDBETWEEN v kombinaciji s funkcijo DATEVALUE:

    RANDBETWEEN(VREDNOST DATUMA( datum začetka ), DATEVALUE( končni datum ))

    Če želite na primer dobiti seznam datumov med 1. junijem 2015 in vključno 30. junijem 2015, vnesite v delovni list naslednjo formulo:

    =RANDBETWEEN(DATEVALUE("1-Jun-2015"),DATEVALUE("30-Jun-2015"))

    Namesto funkcije DATEVALUE lahko uporabite tudi funkcijo DATE:

    =RANDBETWEEN(DATE(2015,6,1),DATEVALUE(2015,6,30))

    Ne pozabite uporabiti oblike datuma v celicah in dobili boste seznam naključnih datumov, podoben temu:

    Za številne napredne možnosti, kot je generiranje naključnih delovnih dni ali vikendov, si oglejte Razširjeni generator naključnih datumov.

    Kako vstaviti naključne čase v Excel

    Ker so v notranjem sistemu Excel časi shranjeni kot decimalke, lahko s standardno funkcijo Excel RAND vstavite naključna realna števila in nato preprosto uporabite časovno obliko v celicah:

    Za vračanje naključnih časov po vaših merilih so potrebne bolj specifične naključne formule, kot je prikazano spodaj.

    Formula 1. Ustvari naključne čase v določenem območju

    Če želite vstaviti naključne čase med katerima koli dvema časoma, ki ju določite, uporabite funkcijo TIME ali TIMEVALUE v povezavi z Excelovo funkcijo RAND:

    ČAS( čas začetka )+RAND() * (ČAS( čas začetka ) - ČAS( čas zaključka )) TIMEVALUE( čas začetka )+RAND() * (ČASOVNA VREDNOST( čas začetka ) - TIMEVALUE( čas zaključka ))

    Če želite na primer vstaviti naključni čas med 6:00 in 17:30, lahko uporabite eno od naslednjih formul:

    =ČAS(6,0,0) + RAND() * (ČAS(17,30,0) - ČAS(6,0,0))

    =VREDNOST ČASA("6:00 ZJUTRAJ") + RAND() * (VREDNOST ČASA("17:30") - VREDNOST ČASA("6:00 ZJUTRAJ"))

    Formula 2. Generiranje naključnih datumov in časov

    Ustvarjanje seznama naključnih datumi in ure , uporabite kombinacijo funkcij RANDBETWEEN in DATEVALUE:

    RANDBETWEEN(VREDNOST DATUMA( datum začetka) , DATEVALUE( končni datum )) + RANDBETWEEN(ČASOVNA VREDNOST( čas začetka ) * 10000, ČASOVNA VREDNOST( čas zaključka ) * 10000)/10000

    Če želite vstaviti naključne datume med 1. junijem 2015 in 30. junijem 2015 s časom med 7:30 in 18:00, bo naslednja formula delovala odlično:

    =RANDBETWEEN(DATEVALUE("1-junij-2015"), DATEVALUE("30-junij-2015")) + RANDBETWEEN(TIMEVALUE("7:30 AM") * 10000, TIMEVALUE("18:00 PM") * 10000) / 10000

    Datume in čase lahko določite tudi s funkcijama DATE in TIME:

    =RANDBETWEEN(DATE(2015,6,1), DATE(2015,6,30)) + RANDBETWEEN(TIME(7,30,0) * 10000, TIME(18,0,0) * 10000) / 10000

    Generiranje naključnih črk v Excelu

    Za vrnitev naključne črke je potrebna kombinacija treh različnih funkcij:

    =CHAR(RANDBETWEEN(KODA("A"),KODA("Z")))

    Kje: A je prvi znak in Z je zadnji znak v razponu črk, ki jih želite vključiti (po abecednem vrstnem redu).

    V zgornji formuli:

    • CODE vrne numerične kode ANSI za določene črke.
    • RANDBETWEEN kot spodnjo in zgornjo vrednost razpona vzame številke, ki jih vrneta funkciji CODE.
    • CHAR pretvori naključne kode ANSI, ki jih vrne RANDBETWEEN, v ustrezne črke.

    Opomba: Ker se kode ANSI razlikujejo za velike in male črke, je ta formula , ki upošteva velike in male črke. .

    Če si kdo na pamet zapomni tabelo kod znakov ANSI, vam nič ne preprečuje, da kode neposredno posredujete funkciji RANDBETWEEN.

    Če želite na primer dobiti naključno črke UPPERCASE med A (koda ANSI 65) in Z (koda ANSI 90) napišete:

    =CHAR(RANDBETWEEN(65, 90))

    Ustvarjanje male tiskane črke s spletne strani a (koda ANSI 97) v z (koda ANSI 122), uporabite naslednjo formulo:

    =CHAR(RANDBETWEEN(97, 122))

    vstavljanje naključnega posebnega znaka, kot je ! " # $ % & ' ( ) * + , - . /, uporabite funkcijo RANDBETWEEN z dno nastavljen na 33 (koda ANSI za "!") in top parameter je nastavljen na 47 (koda ANSI za "/").

    =CHAR(RANDBETWEEN(33,47))

    Ustvarjanje besedilnih nizov in gesel v Excelu

    Če želite v Excelu ustvariti naključni besedilni niz, morate združiti več funkcij CHAR / RANDBEETWEEN.

    Če želite na primer ustvariti seznam gesel, sestavljenih iz 4 znakov, lahko uporabite podobno formulo:

    =RANDBETWEEN(0,9) & CHAR(RANDBETWEEN(65,90)) & CHAR(RANDBETWEEN(97, 122)) & CHAR(RANDBETWEEN(33,47))

    Da bi bila formula bolj kompaktna, sem kode ANSI navedel neposredno v formuli. Štiri funkcije vrnejo naslednje naključne vrednosti:

    • RANDBETWEEN(0,9) - vrne naključna števila med 0 in 9.
    • CHAR(RANDBETWEEN(65,90)) - vrne naključne črke UPPERCASE med A in . Z .
    • CHAR(RANDBETWEEN(97, 122)) - vrne naključne male črke med a in . z .
    • CHAR(RANDBETWEEN(33,47)) - vrne naključne posebne znake.

    Besedilni nizi, ustvarjeni z zgornjo formulo, bi bili podobni " 4Np# " ali " 2Yu& ".

    Opozorilo! Če za ustvarjanje naključnih gesel uporabite podobno formulo, gesla ne bodo močna. Seveda ni rečeno, da ne morete ustvariti daljših besedilnih nizov z veriženjem več funkcij CHAR / RANDBETWEEN. Vendar je nemogoče naključno določiti vrstni red ali znake, tj. prva funkcija vedno vrne številko, druga funkcija vrne veliko črko in tako naprej.

    Če iščete napreden generator naključnih gesel v Excelu, ki lahko ustvari besedilne nize poljubne dolžine in vzorca, boste morda želeli preveriti zmogljivosti naprednega naključnega generatorja za testne nize.

    Upoštevajte tudi, da se besedilni nizi, ustvarjeni z zgornjo formulo, spremenijo ob vsakem ponovnem izračunu delovnega lista. Če želite zagotoviti, da bodo vaši nizi ali gesla po ustvarjanju ostali enaki, boste morali funkciji RANDBETWEEN preprečiti posodabljanje vrednosti, kar nas vodi neposredno k naslednjemu razdelku.

    Kako preprečiti ponovno izračunavanje vrednosti RAND in RANDBETWEEN

    Če želite pridobiti stalni nabor naključnih številk, datumov ali besedilnih nizov, ki se ne bodo spremenili ob vsakem ponovnem izračunu lista, uporabite eno od naslednjih tehnik:

    1. Če želite ustaviti funkcije RAND ali RANDBETWEEN pri ponovnem preračunavanju v ena celica , izberite to celico, preklopite v vrstico formul in pritisnite F9, da zamenjate formulo z njeno vrednostjo.
    2. Če želite naključni funkciji v Excelu preprečiti ponovno izračunavanje, uporabite funkcijo Vstavi posebne> vrednosti. Izberite vse celice z naključno formulo, pritisnite kombinacijo tipk Ctrl + C, da jih kopirate, nato z desno tipko miške kliknite izbrano območje in kliknite Posebna prilepitev > Vrednosti .

    Če želite izvedeti več o tej tehniki "zamrznitve" naključnih števil, glejte Kako nadomestiti formule z vrednostmi.

    Kako ustvariti edinstvene naključne številke v programu Excel

    Nobena od Excelovih naključnih funkcij ne more ustvariti edinstvenih naključnih vrednosti. Če želite ustvariti seznam naključnih števil brez podvojitev , naredite naslednje korake:

    1. S funkcijo RAND ali RANDBETWEEN ustvarite seznam naključnih števil. Ustvarite več vrednosti, kot jih dejansko potrebujete, saj se bodo nekatere podvajale in jih boste kasneje izbrisali.
    2. Pretvorite formule v vrednosti, kot je pojasnjeno zgoraj.
    3. Odstranite podvojene vrednosti z vgrajenim orodjem programa Excel ali z našim naprednim programom za odstranjevanje podvojenih vrednosti za Excel.

    Več rešitev najdete v tem priročniku: Kako ustvariti naključne številke brez podvajanj.

    Napredni generator naključnih številk za Excel

    Zdaj, ko veste, kako uporabljati naključne funkcije v Excelu, vam bom predstavil hitrejši, lažji način brez formul za ustvarjanje seznama naključnih številk, datumov ali besedilnih nizov v delovnih listih.

    AbleBitsov naključni generator za Excel je bil zasnovan kot zmogljivejša in uporabniku prijaznejša alternativa Excelovima funkcijama RAND in RANDBETWEEN. Enako dobro deluje z vsemi različicami Microsoft Excel 2019, 2016, 2013, 2010, 2007 in 2003 ter odpravlja večino težav s kakovostjo in uporabnostjo standardnih naključnih funkcij.

    Algoritem generatorja naključnih številk AbleBits

    Preden vam pokažem naš generator naključij v akciji, naj navedem nekaj ključnih informacij o njegovem algoritmu, da boste natančno vedeli, kaj vam ponujamo.

    • AbleBitsov generator naključnih številk za Excel temelji na algoritmu Mersenne Twister, ki velja za industrijski standard za visokokakovostno psevdonaključno naključnost.
    • Uporabljamo različico MT19937, ki ustvari normalno porazdeljeno zaporedje 32-bitnih celih števil z zelo dolgo periodo 2^19937 - 1, kar je več kot dovolj za vse možne scenarije.
    • Generator naključnih številk je uspešno opravil več testov statistične naključnosti, vključno z znanimi testi NIST Statistical Test Suite in Diehard ter nekaterimi testi naključnosti TestU01 Crush.

    V nasprotju z naključnimi funkcijami programa Excel naš generator naključnih številk ustvari stalne naključne vrednosti ki se ob ponovnem izračunu preglednice ne spremenijo.

    Kot smo že omenili, ta napredni generator naključnih števil za Excel ponuja način brez formul (in posledično brez napak :) za ustvarjanje različnih naključnih vrednosti, kot so:

    • Naključna cela ali decimalna števila, vključno z edinstvenimi števili.
    • Naključni datumi (delovni dnevi, vikendi ali oboje, po želji tudi edinstveni datumi).
    • naključni nizi besedil, vključno z gesli določene dolžine in vzorca ali z masko
    • Naključne logične vrednosti TRUE in FALSE
    • Naključni izbor s seznamov po meri

    Zdaj pa si oglejmo, kako deluje generator naključnih številk, kot smo obljubili.

    Generiranje naključnih številk v programu Excel

    Z AbleBitsovim generatorjem naključnih številk je ustvarjanje seznama naključnih številk tako enostavno, kot da kliknete na Ustvarjanje gumb.

    Generiranje edinstvenih naključnih celih števil

    Vse, kar morate storiti, je, da izberete območje, ki ga želite napolniti z naključnimi celimi števili, nastavite spodnje in zgornje vrednosti ter po želji preverite Edinstvene vrednosti polje.

    Generiranje naključnih realnih števil (decimalke)

    Na podoben način lahko ustvarite serijo naključnih decimalnih števil v razponu, ki ga določite.

    Ustvarjanje naključnih datumov v Excelu

    Naš generator naključnih številk ponuja naslednje možnosti za datume:

    • Generiranje naključnih datumov za določeno časovno obdobje - spodnji datum vnesete v S spletne strani in zgornji datum v polju Na naslov škatla.
    • Vključite delovne dni, vikende ali oboje.
    • Ustvarjanje edinstvenih datumov.

    Generiranje naključnih besedilnih nizov in gesel

    Poleg naključnih številk in datumov lahko s tem generatorjem naključnih številk preprosto ustvarite naključne alfanumerične nize z določenimi nabori znakov. Največja dolžina niza je 99 znakov, kar omogoča ustvarjanje zelo močnih gesel.

    Edinstvena možnost, ki jo zagotavlja AbleBits Random Number Generator, je ustvarjanje naključni besedilni nizi po maski To je zelo uporabna funkcija za ustvarjanje globalno edinstvenih identifikatorjev (GUID), poštnih številk, kosovnih oznak in podobno.

    Če želite na primer dobiti seznam naključnih GUID-ov, izberite šestnajstiški nabor znakov in vnesite ????????-????-????-???????????? v Maska kot je prikazano na sliki zaslona:

    Če želite preizkusiti naš naključni generator, ga lahko prenesete spodaj kot del našega paketa Ultimate Suite za Excel.

    Razpoložljivi prenosi

    Primeri naključnih formul (.xlsx datoteka)

    Ultimate Suite 14-dnevna popolnoma funkcionalna različica (.exe datoteka)

    Michael Brown je predan tehnološki navdušenec s strastjo do poenostavljanja kompleksnih procesov z uporabo programskih orodij. Z več kot desetletnimi izkušnjami v tehnološki industriji je svoje veščine izpopolnil v Microsoft Excelu in Outlooku ter Google Preglednicah in Dokumentih. Michaelov blog je namenjen deljenju svojega znanja in strokovnega znanja z drugimi ter ponuja preproste nasvete in vadnice za izboljšanje produktivnosti in učinkovitosti. Ne glede na to, ali ste izkušen strokovnjak ali začetnik, Michaelov blog ponuja dragocene vpoglede in praktične nasvete, kako kar najbolje izkoristiti ta osnovna programska orodja.