Sisukord
Õpetus näitab, kuidas genereerida juhuslikke numbreid, sorteerida juhuslikult nimekirja, saada juhuslikku valikut ja määrata andmeid juhuslikult gruppidesse. Kõik seda uue dünaamilise massiivi funktsiooni - RANDARRAY - abil.
Nagu te ilmselt teate, on Microsoft Excelis juba paar juhuslikkuse funktsiooni - RAND ja RANDBETWEEN. Miks on mõtet võtta kasutusele veel üks? Lühidalt öeldes seetõttu, et see on palju võimsam ja võib asendada mõlemad vanemad funktsioonid. Lisaks oma maksimaalse ja minimaalse väärtuse määramisele võimaldab see määrata, kui palju ridu ja veerge täita ning kas toota juhuslikke kümnendkohti võitäisarvud. Kasutades koos teiste funktsioonidega, saab RANDARRAY isegi andmeid segada ja valida juhusliku valimi.
Exceli RANDARRAY funktsioon
Exceli funktsioon RANDARRAY tagastab suvaliste numbrite massiivi, mis on kahe suvalise arvu vahel, mille te määrate.
See on üks kuuest uuest dünaamilise massiivi funktsioonist, mis on kasutusele võetud Microsoft Excel 365-s. Tulemuseks on dünaamiline massiivi, mis laieneb automaatselt määratud arvu ridade ja veergude hulka.
Funktsioonil on järgmine süntaks. Pange tähele, et kõik argumendid on valikulised:
RANDARRAY([read], [veerud], [min], [max], [whole_number])Kus:
Rid (valikuline) - määrab, mitu rida täidetakse. Kui see jäetakse välja, on vaikimisi 1 rida.
Veerud (valikuline) - määrab, mitu veergu täita. Kui see jäetakse välja, on vaikimisi 1 veerg.
Min (valikuline) - väikseim juhuslik arv, mida toota. Kui seda ei ole määratud, kasutatakse vaikimisi väärtust 0.
Max (valikuline) - suurim loodav juhuslik arv. Kui seda ei ole määratud, kasutatakse vaikimisi väärtust 1.
Terve_arv (valikuline) - määrab, milliseid väärtusi tagastada:
- TRUE - täisarvud
- FALSE või jäetakse välja (vaikimisi) - kümnendarvud
RANDARRAY funktsioon - asju, mida meeles pidada
Juhuslike numbrite tõhusaks genereerimiseks Exceli töölehtedel on 6 olulist punkti, mida tuleb tähele panna:
- Funktsioon RANDARRAY on saadaval ainult Excel for Microsoft 365 ja Excel 2021. Excel 2019, Excel 2016 ja varasemates versioonides ei ole funktsioon RANDARRAY saadaval.
- Kui RANDARRAY poolt tagastatud massiiv on lõpptulemus (väljund lahtrisse ja ei ole edastatud teisele funktsioonile), loob Excel automaatselt dünaamilise valemisvahemiku ja täidab selle juhuslike numbritega. Seega veenduge, et teil on piisavalt tühje lahtreid lahtrist allpool ja/või paremal pool lahtrit, kuhu sisestate valemi, vastasel juhul tekib #SPILL-viga.
- Kui ühtegi argumenti ei ole määratud, annab valem RANDARRAY() tagasi ühe kümnendarvu vahemikus 0 ja 1.
- Kui read või/ja veerud argumendid on esitatud kümnendarvudena, kärbitakse need täisarvuni enne koma (nt 5,9 loetakse 5).
- Kui min või max argumenti ei ole defineeritud, on RANDARRAY vaikimisi 0 ja 1.
- Nagu teised juhuslikud funktsioonid, on ka Excel RANDARRAY lenduv , mis tähendab, et see genereerib iga kord töölehe arvutamisel uue juhuslike väärtuste loendi. Selle vältimiseks saate asendada valemid väärtustega, kasutades Exceli funktsiooni Paste Special > Väärtused funktsioon.
Exceli põhiline RANDARRAY valem
Ja nüüd näitan teile juhuslikku Exceli valemit selle lihtsaimal kujul.
Oletame, et soovite täita 5 reast ja 3 veerust koosneva vahemiku suvaliste juhuslikega numbritega. Selleks seadistage kaks esimest argumenti nii:
- Rid on 5, sest me tahame tulemusi 5 reas.
- Veerud on 3, sest me tahame tulemusi 3 veerus.
Kõik muud argumendid jätame vaikimisi väärtustele ja saame järgmise valemi:
=RANDARRAY(5, 3)
Sisestage see sihtvahemiku (meie puhul A2) vasakusse ülemisse lahtrisse, vajutage Enter-klahvi ja tulemused jagatakse üle määratud arvu ridade ja veergude.
Nagu näete ülaltoodud ekraanipildil, täidab see põhiline RANDARRAY valem vahemiku juhuslike kümnendarvudega vahemikus 0 kuni 1. Kui soovite pigem saada terveid numbreid teatud vahemikus, siis konfigureerige kolm viimast argumenti, nagu on näidatud edasistes näidetes.
Kuidas Excelis juhuslikuks muuta - RANDARRAY valemi näited
Allpool leiate mõned täiustatud valemid, mis hõlmavad tüüpilisi juhuslikke stsenaariume Excelis.
Juhuslike numbrite genereerimine kahe numbri vahel
Kui soovite luua juhuslike arvude nimekirja teatud vahemikus, sisestage 3. argumendis minimaalne väärtus ja 4. argumendis maksimaalne arv. Sõltuvalt sellest, kas vajate täisarvusid või kümnendkohti, määrake 5. argumendi väärtuseks vastavalt TRUE või FALSE.
Näitena täidame 6 reast ja 4 veerust koosneva vahemiku juhusliku täisarvuga vahemikus 1 kuni 100. Selleks seadistame funktsiooni RANDARRAY järgmised argumendid:
- Rid on 6, sest me tahame tulemusi 6 reas.
- Veerud on 4, sest me tahame tulemusi 4 veerus.
- Min on 1, mis on minimaalne väärtus, mida me soovime.
- Max on 100, mis on maksimaalne genereeritav väärtus.
- Terve_arv on TRUE, sest me vajame täisarvusid.
Kui panna argumendid kokku, saame järgmise valemi:
=RANDARRAY(6, 4, 1, 100, TRUE)
Ja see annab järgmise tulemuse:
Genereeri juhuslik kuupäev kahe kuupäeva vahel
Otsite Excelis juhusliku kuupäeva generaatorit? Funktsioon RANDARRAY on lihtne lahendus! Kõik, mida peate tegema, on sisestada varasem kuupäev (kuupäev 1) ja hilisem kuupäev (kuupäev 2) eelnevalt määratud lahtritesse ja seejärel viidata nendele lahtritele oma valemis:
RANDARRAY(rows, columns, kuupäev1 , kuupäev2 , TRUE)Selle näite jaoks oleme selle valemiga loonud nimekirja juhuslikest kuupäevadest D1 ja D2 kuupäevade vahel:
=RANDARRAY(10, 1, D1, D2, TRUE)
Loomulikult ei takista miski teil soovi korral min ja max kuupäevade esitamist otse valemis. Lihtsalt veenduge, et sisestate need Excelile arusaadavas vormingus:
=RANDARRAY(10, 1, "1/1/2020", "12/31/2020", TRUE)
Vigade vältimiseks saate kuupäevade sisestamiseks kasutada funktsiooni DATE:
=RANDARRAY(10, 1, DATE(2020,1,1), DATE(2020,12,31), TRUE)
Märkus. Excel salvestab sisemiselt kuupäevi seerianumbritena, seega kuvatakse valemi tulemused tõenäoliselt numbritena. Tulemuste õigeks kuvamiseks rakendage valemit Kuupäev formaat kõigile lahtritele väljavoolupiirkonnas.
Juhuslike tööpäevade genereerimine Excelis
Juhuslike tööpäevade saamiseks põimige funktsioon RANDARRAY WORKDAY esimesse argumendisse järgmiselt:
WORKDAY(RANDARRAY(rows, columns, kuupäev1 , kuupäev2 , TRUE), 1)RANDARRAY loob juhuslike alguskuupäevade massiivi, millele funktsioon WORKDAY lisab 1 tööpäeva ja tagab, et kõik tagastatud kuupäevad on tööpäevad.
Kui kuupäev 1 on D1-s ja kuupäev 2 D2-s, siis siin on valem 10 nädalapäeva nimekirja koostamiseks:
=WORKDAY(RANDARRAY(10, 1, D1, D2, TRUE), 1)
Nagu eelmise näite puhul, ärge unustage vormindada väljavooluala järgmiselt. Kuupäev et tulemused oleksid õigesti kuvatud.
Kuidas genereerida juhuslikke numbreid ilma duplikaatideta
Kuigi kaasaegne Excel pakub 6 uut dünaamilist massiivi funktsiooni, puudub kahjuks endiselt sisseehitatud funktsioon, mis tagastaks juhuslikke numbreid ilma duplikaatideta.
Et ehitada oma unikaalne juhusliku numbri generaator Excelis, peate ühendama mitu funktsiooni, nagu allpool näidatud.
Juhuslikud täisarvud :
INDEX(UNIQUE(RANDARRAY( n *2, 1, min , max , TRUE))), SEQUENCE( n ))Juhuslikud kümnendmurrud :
INDEX(UNIQUE(RANDARRAY( n *2, 1, min , max , FALSE))), SEQUENCE( n ))Kus:
- N on see, kui palju väärtusi soovite genereerida.
- Min on madalaim väärtus.
- Max on suurim väärtus.
Näiteks 10 juhusliku täisarvu saamiseks, mis ei sisalda duplikaate, kasutage seda valemit:
=INDEX(UNIQUE(RANDARRAY(20, 1, 1, 1, 100, TRUE)), SEQUENCE(10))
10 unikaalse nimekirja loomiseks juhuslikud kümnendarvud muuta TRUE FALSE-ks funktsiooni RANDARRAY viimases argumendis või jätta see argument lihtsalt ära:
=INDEX(UNIQUE(RANDARRAY(20, 1, 1, 1, 100, FALSE)), SEQUENCE(10))
Näpunäited ja märkused:
- Valemi üksikasjalik selgitus on esitatud dokumendis Kuidas genereerida juhuslikke numbreid Excelis ilma duplikaatideta.
- Excel 2019 ja varasemates versioonides ei ole funktsioon RANDARRAY saadaval. Selle asemel vaadake seda lahendust.
Kuidas Excelis juhuslikult sorteerida
Andmete segamiseks Excelis kasutage RANDARRAY massiivi "sort by" jaoks ( by_array argument) funktsiooni SORTBY. Funktsioon ROWS loeb ridade arvu teie andmekogumis, näidates, mitu juhuslikku numbrit tuleb genereerida:
SORTBY( andmed , RANDARRAY(ROWS( andmed )))Sellise lähenemisviisi abil saate sorteerida nimekirja juhuslikult Excelis, olenemata sellest, kas see sisaldab numbreid, kuupäevi või tekstikandeid:
=SORTBY(A2:A13, RANDARRAY(ROWS(A2:A13)))
Samuti võite ka ridade segamine ilma andmeid segamata:
=SORTBY(A2:B10, RANDARRAY(ROWS(A2:B10)))
Kuidas saada juhuslik valik Excelis
Juhusliku valimi väljavõtmiseks nimekirjast on siin üldine valem, mida saab kasutada:
INDEX( andmed , RANDARRAY( n , 1, 1, ROWS( andmed ), TRUE))Kus n on juhuslike kirjete arv, mida soovite välja võtta.
Näiteks selleks, et valida juhuslikult 3 nime A2:A10 nimekirjast, kasutage seda valemit:
=INDEX(A2:A10, RANDARRAY(3, 1, 1, ROWS(A2:A10), TRUE))
Või sisestage soovitud valimi suurus mõnda lahtrisse, näiteks C2, ja viidake sellele lahtrisse:
=INDEX(A2:A10, RANDARRAY(C2, 1, 1, ROWS(A2:A10), TRUE))
Kuidas see valem töötab:
Selle valemi keskmes on funktsioon RANDARRAY, mis loob juhusliku täisarvude massiivi, mille väärtus C2-s määrab, mitu väärtust genereeritakse. Minimaalne arv on kõvakooditud (1) ja maksimaalne arv vastab teie andmekogumi ridade arvule, mis tagastatakse funktsiooniga ROWS.
Juhuslike täisarvude massiiv läheb otse massiivi row_num funktsiooni INDEX argument, mis määrab tagastatavate elementide positsioonid. Ülaltoodud ekraanipildil oleva näidise puhul on see:
=INDEX(A2:A10, {8;7;4})
Vihje. Kui valite suure valimi väikesest andmestikust, on tõenäoline, et teie juhuslik valik sisaldab rohkem kui ühe ja sama kirje esinemist, sest ei ole mingit garantiid, et RANDARRAY annab ainult unikaalseid numbreid. Selle vältimiseks kasutage selle valemi duplikaadivaba versiooni.
Kuidas valida juhuslikke ridu Excelis
Kui teie andmekogum sisaldab rohkem kui ühte veergu, siis määrake, milliseid veerge valimisse kaasata. Selleks esitage viimase argumendina massiivi konstant ( column_num ) funktsiooni INDEX, näiteks nii:
=INDEX(A2:B10, RANDARRAY(D2, 1, 1, ROWS(A2:A10), TRUE), {1,2})
Kus A2:B10 on lähteandmed ja D2 on valimi suurus.
Selle tulemusena sisaldab meie juhuslik valik kaks andmeveergu:
Vihje. Nagu eelmise näite puhul, võib see valem tagastada dubleeritud kirjeid. Et tagada, et teie valim ei sisaldaks kordusi, kasutage veidi teistsugust lähenemisviisi, mida on kirjeldatud punktis Kuidas valida juhuslikke ridu ilma duplikaatideta.
Kuidas määrata juhuslikult numbreid ja teksti Excelis
Juhusliku määramise tegemiseks Excelis kasutage RANDBETWEENi koos funktsiooniga CHOOSE sel viisil:
CHOOSE(RANDARRAY(ROWS( andmed ), 1, 1, n , TRUE), väärtus1 , value2 ,...)Kus:
- Andmed on teie lähteandmete vahemik, millele soovite määrata juhuslikke väärtusi.
- N on määratavate väärtuste koguarv.
- Väärtus1 , value2 , value3 , jne. on juhuslikult määratud väärtused.
Näiteks selleks, et määrata osalejatele A2:A13 numbreid 1 kuni 3, kasutage järgmist valemit:
=CHOOSE(RANDARRAY(ROWS(A2:A13), 1, 1, 3, TRUE), 1, 2, 3)
Mugavuse huvides võite määrata väärtused eraldi lahtritesse, näiteks D2-D4, ja viidata nendele lahtritele oma valemis (eraldi, mitte vahemikuna):
=CHOOSE(RANDARRAY(ROWS(A2:A13), 1, 1, 3, TRUE), D2, D3, D4)
Selle tulemusena saate juhuslikult määrata samade valemitega mis tahes numbreid, tähti, teksti, kuupäevi ja kellaaegu:
Märkus. Funktsioon RANDARRAY genereerib pidevalt uusi juhuslikke väärtusi iga muutusega töölehel, mille tulemusena määratakse iga kord uued väärtused. Määratud väärtuste "fikseerimiseks" kasutage funktsioone Paste Special> Values, et asendada valemid nende arvutatud väärtustega.
Kuidas see valem töötab
Selle lahenduse keskmes on jällegi funktsioon RANDARRAY, mis toodab juhuslike täisarvude massiivi, mis põhineb teie poolt määratud minimaalsetel ja maksimaalsetel arvudel (meie puhul 1 kuni 3). Funktsioon ROWS ütleb RANDARRAY-le, mitu juhuslikku arvu genereerida. See massiivi läheb aadressile index_num CHOOSE-funktsiooni argument. Näiteks:
=CHOOSE({1;2;1;2;3;2;3;3;1;3;1;2}, D2, D3, D4)
Index_num on argument, mis määrab tagastatavate väärtuste positsioonid. Ja kuna positsioonid on juhuslikud, siis valitakse väärtused D2:D4 juhuslikus järjekorras. Jah, nii lihtne see ongi :)
Kuidas andmeid juhuslikult rühmadesse jaotada
Kui teie ülesanne on jaotada osalejad rühmadesse juhuslikult, ei pruugi ülaltoodud valem sobida, sest see ei kontrolli, mitu korda antud rühma valitakse. Näiteks võiks 5 inimest määrata rühma A, aga ainult 2 inimest rühma C. Juhusliku jaotuse tegemiseks ühtlaselt , et igas rühmas oleks sama arv osalejaid, on vaja erinevat lahendust.
Kõigepealt genereerite juhuslike numbrite nimekirja, kasutades seda valemit:
=RANDARRAY(ROWS(A2:A13))
Kus A2:A13 on teie lähteandmed.
Ja siis määrate rühmad (või midagi muud), kasutades seda üldist valemit:
INDEX( values_to_assign , ROUNDUP(RANK( first_random_number , random_numbers_range )/ n , 0))Kus n on grupi suurus, st mitu korda iga väärtust tuleks määrata.
Näiteks selleks, et jaotada inimesed juhuslikult gruppidesse E2:E5, nii et igas grupis oleks 3 osalejat, kasutage järgmist valemit:
=INDEX($E$2:$E$5, ROUNDUP(RANK(B2,$B$2:$B$13)/3,0))
Pange tähele, et tegemist on tavalise valemiga (mitte dünaamilise massiivi valemiga!), seega peate lukustama vahemikud absoluutsete viidetega nagu ülaltoodud valemis.
Sisestage oma valem ülemisse lahtrisse (meie puhul C2) ja lohistage see seejärel nii paljudesse lahtritesse kui vaja. Tulemus näeb välja umbes nii:
Pidage meeles, et funktsioon RANDARRAY on muutlik. Et vältida uute juhuslike väärtuste genereerimist iga kord, kui te midagi töölehel muudate, asendage valemid nende väärtustega, kasutades funktsiooni Paste Special funktsioon.
Kuidas see valem töötab:
RANDARRAY valem abisambas on väga lihtne ja vajab vaevalt selgitamist, seega keskendume veerus C olevale valemile.
=INDEX($E$2:$E$5, ROUNDUP(RANK(B2,$B$2:$B$13)/3,0))
Funktsioon RANK reastab väärtuse B2 võrreldes juhuslike numbrite massiivi B2:B13. Tulemuseks on number vahemikus 1 ja osalejate koguarvu vahel (meie puhul 12).
Rida jagatakse grupi suurusega (meie näites 3) ja funktsioon ROUNDUP ümardab selle lähima täisarvuni. Selle operatsiooni tulemuseks on arv vahemikus 1 ja gruppide koguarv (antud näites 4).
Tervearvu läheb row_num INDEX-funktsiooni argumenti, sundides seda tagastama väärtuse vastavast reast vahemikus E2:E5, mis esindab määratud rühma.
Exceli RANDARRAY funktsioon ei tööta
Kui teie RANDARRAY valem tagastab vea, on need kõige ilmsemad põhjused, mida kontrollida:
#SPILL viga
Nagu mis tahes muu dünaamilise massiivi funktsiooni puhul, tähendab #SPILL! viga enamasti seda, et ettenähtud väljavoolualas ei ole piisavalt ruumi kõigi tulemuste kuvamiseks. Lihtsalt tühjendage kõik selle vahemiku lahtrid ja teie valem arvutatakse automaatselt uuesti. Lisateavet leiate jaotisest Excel #SPILL viga - põhjused ja parandused.
#VALUE viga
Sellisel juhul võib tekkida #VALUE! viga:
- Kui max väärtus on väiksem kui min väärtus.
- Kui mõni argumentidest on mittenumbriline.
#NAME viga
Enamasti viitab #NAME! viga ühele järgmistest:
- Funktsiooni nimi on valesti kirjutatud.
- Funktsioon ei ole teie Exceli versioonis saadaval.
#CALC! viga
Viga #CALC! tekib, kui #CALC! read või veerud argument on väiksem kui 1 või viitab tühjale lahtrile.
See on, kuidas luua juhusliku numbri generaator Excelis uue RANDARRAY funktsiooniga. Tänan teid lugemise eest ja loodan, et näeme teid järgmisel nädalal meie blogis!
Praktiline töövihik allalaadimiseks
RANDARRAY valemi näited (.xlsx fail)