Excel RANDARRAY function - mabilis na paraan upang makabuo ng mga random na numero

  • Ibahagi Ito
Michael Brown

Ipinapakita ng tutorial kung paano bumuo ng mga random na numero, random na pag-uri-uriin ang isang listahan, kumuha ng random na pagpili at random na magtalaga ng data sa mga grupo. Lahat ay may bagong dynamic array function - RANDARRAY.

Tulad ng malamang na alam mo, ang Microsoft Excel ay mayroon nang ilang randomizing function - RAND at RANDBETWEEN. Ano ang kahulugan ng pagpapakilala ng isa pa? Sa madaling sabi, dahil ito ay mas malakas at maaaring palitan ang parehong mas lumang mga function. Bukod sa pagse-set up ng sarili mong maximum at minimum na mga halaga, hinahayaan ka nitong tukuyin kung ilang row at column ang pupunuin at kung gagawa ng random na mga decimal o integer. Ginagamit kasama ng iba pang mga function, ang RANDARRAY ay maaari pang mag-shuffle ng data at pumili ng random na sample.

    Excel RANDARRAY function

    Ang RANDARRAY function sa Excel ay nagbabalik ng hanay ng mga random na numero sa pagitan anumang dalawang numero na iyong tinukoy.

    Ito ay isa sa anim na bagong dynamic array function na ipinakilala sa Microsoft Excel 365. Ang resulta ay isang dynamic na array na awtomatikong pumapasok sa tinukoy na bilang ng mga row at column.

    Ang function ay may sumusunod na syntax. Pakipansin na ang lahat ng argumento ay opsyonal:

    RANDARRAY([rows], [columns], [min], [max], [whole_number])

    Where:

    Rows (opsyonal) - tumutukoy kung gaano karaming mga hilera ang pupunan. Kung aalisin, magiging default sa 1 row.

    Mga Column (opsyonal) - tinutukoy kung ilang column ang pupunan. Kung aalisin, magiging 1 ang defaultrandom na magtalaga ng mga kalahok sa mga grupo, ang formula sa itaas ay maaaring hindi angkop dahil hindi nito kinokontrol kung gaano karaming beses pipiliin ang isang grupo. Halimbawa, 5 tao ang maaaring italaga sa pangkat A habang 2 tao lamang sa pangkat C. Upang gawin ang random na takdang-aralin pantay-pantay , upang ang bawat pangkat ay may parehong bilang ng mga kalahok, kailangan mo ng ibang solusyon.

    Una, bumuo ka ng listahan ng mga random na numero sa pamamagitan ng paggamit ng formula na ito:

    =RANDARRAY(ROWS(A2:A13))

    Kung saan A2:A13 ang iyong source data.

    At pagkatapos, magtatalaga ka ng mga grupo (o anupaman) sa pamamagitan ng paggamit ng generic na formula na ito:

    INDEX( values_to_assign, ROUNDUP(RANK( first_random_number, random_numbers_range)/ n, 0))

    Kung saan ang n ay ang laki ng pangkat, ibig sabihin, ang dami ng beses na dapat italaga ang bawat value.

    Halimbawa, upang random na magtalaga ng mga tao sa mga pangkat na nakalista sa E2:E5, upang ang bawat pangkat ay may 3 kalahok, gamitin ang formula na ito:

    =INDEX($E$2:$E$5, ROUNDUP(RANK(B2,$B$2:$B$13)/3,0))

    Pakipansin na ito ay isang regular na formula (hindi isang dynamic na array formula!), kaya kailangan mong i-lock ang mga saklaw na may ganap na mga sanggunian tulad ng nasa itaas na formula.

    Ilagay ang iyong formula sa tuktok na cell (C2 sa aming kaso) at ang n i-drag ito pababa sa kasing dami ng mga cell kung kinakailangan. Ang resulta ay magiging katulad nito:

    Pakitandaan na ang RANDARRAY function ay pabagu-bago. Upang maiwasan ang pagbuo ng mga bagong random na halaga sa tuwing babaguhin mo ang isang bagay sa worksheet, palitanmga formula kasama ang kanilang mga halaga sa pamamagitan ng paggamit ng tampok na I-paste ang Espesyal .

    Paano gumagana ang formula na ito:

    Napakasimple ng formula ng RANDARRAY sa column ng helper at halos hindi nangangailangan ng paliwanag, kaya tumuon tayo sa formula sa column C.

    =INDEX($E$2:$E$5, ROUNDUP(RANK(B2,$B$2:$B$13)/3,0))

    Niraranggo ng RANK function ang value sa B2 laban sa array ng mga random na numero sa B2:B13. Ang resulta ay isang numero sa pagitan ng 1 at ang kabuuang bilang ng mga kalahok (12 sa aming kaso).

    Ang ranggo ay hinati sa laki ng grupo, (3 sa aming halimbawa), at ang ROUNDUP function ay ni-round up ito sa ang pinakamalapit na integer. Ang resulta ng operasyong ito ay isang numero sa pagitan ng 1 at ang kabuuang bilang ng mga pangkat (4 sa halimbawang ito).

    Ang integer ay papunta sa row_num argument ng INDEX function, na pinipilit itong magbalik ng value mula sa kaukulang row sa range na E2:E5, na kumakatawan sa nakatalagang pangkat.

    Hindi gumagana ang Excel RANDARRAY function

    Kapag nagbalik ng error ang iyong RANDARRAY formula, ito ang pinakahalata mga dahilan para suriin:

    #SPILL error

    Tulad ng anumang iba pang dynamic array function, isang #SPILL! ang error ay kadalasang nangangahulugan na walang sapat na espasyo sa nilalayong hanay ng spill upang ipakita ang lahat ng resulta. I-clear lang ang lahat ng mga cell sa hanay na ito, at awtomatikong magre-recalculate ang iyong formula. Para sa higit pang impormasyon, pakitingnan ang Excel #SPILL error - mga sanhi at pag-aayos.

    #VALUE error

    Isang #VALUE! maaaring mangyari ang error sa mga itomga pangyayari:

    • Kung ang isang max na value ay mas mababa sa isang min value.
    • Kung ang alinman sa mga argumento ay hindi numeric.

    #NAME error

    Sa karamihan ng mga kaso, isang #NAME! ang error ay nagpapahiwatig ng isa sa mga sumusunod:

    • Maling spelling ang pangalan ng function.
    • Hindi available ang function sa iyong bersyon ng Excel.

    #CALC! error

    Isang #CALC! nangyayari ang error kung ang argumento na rows o columns ay mas mababa sa 1 o tumutukoy sa isang blangkong cell.

    Ganyan bumuo ng random number generator sa Excel gamit ang bagong RANDARRAY function. Salamat sa pagbabasa at umaasa akong makita ka sa aming blog sa susunod na linggo!

    Magsanay ng workbook para sa pag-download

    RANDARRAY na mga halimbawa ng formula (.xlsx file)

    column.

    Min (opsyonal) - ang pinakamaliit na random na numero na gagawin. Kung hindi tinukoy, ginagamit ang default na 0 na halaga.

    Max (opsyonal) - ang pinakamalaking random na numero na gagawin. Kung hindi tinukoy, ginagamit ang default na 1 value.

    Whole_number (opsyonal) - tinutukoy kung anong uri ng mga value ang ibabalik:

    • TRUE - whole number
    • FALSE o inalis (default) - mga decimal na numero

    RANDARRAY function - mga bagay na dapat tandaan

    Upang mahusay na makabuo ng mga random na numero sa iyong Excel worksheet, mayroong 6 na mahalagang puntos upang bigyang-pansin ang:

    • Ang RANDARRAY function ay available lang sa Excel para sa Microsoft 365 at Excel 2021. Sa Excel 2019, Excel 2016 at mas naunang mga bersyon ang RANDARRAY function ay hindi available.
    • Kung ang array na ibinalik ng RANDARRAY ay ang huling resulta (output sa isang cell at hindi naipasa sa ibang function), awtomatikong gagawa ang Excel ng isang dynamic na saklaw ng spill at nilalagyan ito ng mga random na numero. Kaya, tiyaking mayroon kang sapat na mga cell na walang laman sa ibaba at/o sa kanan ng cell kung saan mo ilalagay ang formula, kung hindi, magkakaroon ng #SPILL error.
    • Kung wala sa mga argumento ang tinukoy, isang RANDARRAY( ) formula ay nagbabalik ng isang solong decimal na numero sa pagitan ng 0 at 1.
    • Kung ang mga hilera o/at mga column na argumento ay kinakatawan ng mga decimal na numero, puputulin ang mga ito sa buong integer bago ang decimal point (hal. 5.9 ay ituturingbilang 5).
    • Kung ang min o max argument ay hindi tinukoy, ang RANDARRAY ay magiging 0 at 1, ayon sa pagkakabanggit.
    • Tulad ng iba pang random function, ang Excel RANDARRAY ay volatile , ibig sabihin, bumubuo ito ng bagong listahan ng mga random na halaga sa tuwing kinakalkula ang worksheet. Upang maiwasang mangyari ito, maaari mong palitan ang mga formula ng mga value sa pamamagitan ng paggamit ng feature na Paste Special > Values ng Excel.

    Basic Excel RANDARRAY formula

    At ngayon, hayaan mo akong magpakita sa iyo ng random na formula ng Excel sa pinakasimpleng anyo nito.

    Ipagpalagay na gusto mong punan ang isang hanay na binubuo ng 5 row at 3 column ng anumang random na numero. Para magawa ito, i-set up ang unang dalawang argument sa ganitong paraan:

    • Rows ay 5 dahil gusto namin ang mga resulta sa 5 row.
    • Ang Mga Column ay 3 dahil gusto namin ang mga resulta sa 3 mga column.

    Lahat ng iba pang argumento ay iniiwan namin sa kanilang mga default na halaga at nakukuha ang sumusunod na formula:

    =RANDARRAY(5, 3)

    Ilagay ito sa kaliwang itaas na cell ng hanay ng patutunguhan (A2 sa aming kaso), pindutin ang Enter key, at ipapalabas mo ang mga resulta sa tinukoy na bilang ng mga row at column.

    Tulad ng makikita mo sa screenshot sa itaas, pinupunan ng pangunahing RANDARRAY formula na ito ang hanay ng mga random na decimal na numero mula 0 hanggang 1. Kung mas gusto mong makakuha ng mga buong numero sa loob ng isang partikular na hanay, pagkatapos ay i-configure ang huling tatlong argumento gaya ng ipinakita sa mga karagdagang halimbawa.

    Paano mag-randomize saExcel - RANDARRAY na mga halimbawa ng formula

    Sa ibaba makikita mo ang ilang advanced na formula na sumasaklaw sa mga tipikal na randomizing na mga sitwasyon sa Excel.

    Bumuo ng mga random na numero sa pagitan ng dalawang numero

    Upang gumawa ng listahan ng mga random na numero sa loob ng isang partikular na hanay, ibigay ang pinakamababang halaga sa ika-3 argumento at ang maximum na numero sa ika-4 na argumento. Depende sa kung kailangan mo ng mga integer o decimal, itakda ang 5th argument sa TRUE o FALSE, ayon sa pagkakabanggit.

    Bilang halimbawa, punan natin ang hanay ng 6 na row at 4 na column na may mga random na integer mula 1 hanggang 100. Para dito , ise-set up namin ang mga sumusunod na argumento ng RANDARRAY function:

    • Rows ay 6 dahil gusto namin ang mga resulta sa 6 na row.
    • Mga Column ay 4 dahil gusto namin ang mga resulta sa 4 na column.
    • Min ay 1, na siyang pinakamababang halaga na gusto naming magkaroon.
    • Max ay 100, na siyang pinakamataas na halaga na bubuuin.
    • Whole_number ay TOTOO dahil kailangan namin ng mga integer.

    Pagsasama-sama ng mga argumento, nakukuha namin ang formula na ito:

    =RANDARRAY(6, 4, 1, 100, TRUE)

    At naglalabas ito ng sumusunod na resulta:

    Bumuo ng random na petsa sa pagitan ng dalawang petsa

    Naghahanap ng random na generator ng petsa sa Excel? Ang RANDARRAY function ay isang madaling solusyon! Ang kailangan mo lang gawin ay ipasok ang naunang petsa (petsa 1) at mas huling petsa (petsa 2) sa mga paunang natukoy na mga cell, at pagkatapos ay i-reference ang mga cell na iyon sa iyong formula:

    RANDARRAY(mga row, column, petsa1, date2, TRUE)

    Para sa halimbawang ito, gumawa kami ng listahan ng mga random na petsa sa pagitan ng mga petsa sa D1 at D2 gamit ang formula na ito:

    =RANDARRAY(10, 1, D1, D2, TRUE)

    Siyempre, walang pumipigil sa iyo na ibigay ang min at max na mga petsa nang direkta sa formula kung gusto mo. Siguraduhing ilagay mo ang mga ito sa format na mauunawaan ng Excel:

    =RANDARRAY(10, 1, "1/1/2020", "12/31/2020", TRUE)

    Upang maiwasan ang mga pagkakamali, maaari mong gamitin ang DATE function para sa paglalagay ng mga petsa:

    =RANDARRAY(10, 1, DATE(2020,1,1), DATE(2020,12,31), TRUE)

    Tandaan. Ang panloob na Excel ay nag-iimbak ng mga petsa bilang mga serial number, kaya ang mga resulta ng formula ay malamang na ipapakita bilang mga numero. Upang maipakita nang tama ang mga resulta, ilapat ang format na Petsa sa lahat ng mga cell sa hanay ng spill.

    Bumuo ng mga random na araw ng trabaho sa Excel

    Upang makagawa ng mga random na araw ng trabaho, i-embed ang RANDARRAY function sa unang argument ng WORKDAY tulad nito:

    WORKDAY(RANDARRAY(rows, columns, date1 , date2 , TRUE), 1)

    RANDARRAY ay gagawa ng hanay ng mga random na petsa ng pagsisimula, kung saan ang WORKDAY function ay magdaragdag ng 1 araw ng trabaho at titiyakin na ang lahat ng ibinalik na petsa ay mga araw ng trabaho.

    Sa petsa 1 sa D1 at petsa 2 sa D2, narito ang formula para makagawa ng listahan ng 10 karaniwang araw:

    =WORKDAY(RANDARRAY(10, 1, D1, D2, TRUE), 1)

    Gaya ng ang nakaraang halimbawa, mangyaring tandaan na i-format ang saklaw ng spill bilang Petsa upang maipakita nang tama ang mga resulta.

    Paano bumuo ng mga random na numero nang walang mga duplicate

    Kahit na nag-aalok ang modernong Excel ng 6 bagong dynamic na hanayfunction, sa kasamaang-palad, wala pa ring inbuilt na function upang ibalik ang mga random na numero nang walang mga duplicate.

    Upang bumuo ng iyong sariling natatanging random number generator sa Excel, kakailanganin mong i-chain ang ilang function nang magkasama tulad ng ipinapakita sa ibaba.

    Mga random na integer :

    INDEX(NATATANGI(RANDARRAY( n *2, 1, min , max , TRUE)), SEQUENCE( n ))

    Random na mga decimal :

    INDEX(NATATANGI(RANDARRAY( n *2, 1, min , max , FALSE)), SEQUENCE( n ))

    Saan:

    • Ang N ay kung gaano karaming value ang gusto mong buuin.
    • Min ang pinakamababang value.
    • Max ang pinakamataas na value.

    Halimbawa, upang makagawa ng 10 random na buong numero na walang mga duplicate, gamitin ang formula na ito:

    =INDEX(UNIQUE(RANDARRAY(20, 1, 1, 100, TRUE)), SEQUENCE(10))

    Upang lumikha ng isang listahan ng 10 natatanging random decimal number , baguhin ang TRUE sa FALSE sa huling argumento ng RANDARRAY function o alisin lang ang argumentong ito:

    =INDEX(UNIQUE(RANDARRAY(20, 1, 1, 100, FALSE)), SEQUENCE(10))

    Mga tip at paalala:

    • Ang detalyadong pagpapaliwanag ng formula ay maaaring f ound in Paano bumuo ng mga random na numero sa Excel nang walang mga duplicate.
    • Sa Excel 2019 at mas maaga, hindi available ang RANDARRAY function. Sa halip, pakitingnan ang solusyong ito.

    Paano random na pag-uri-uriin sa Excel

    Upang i-shuffle ang data sa Excel, gamitin ang RANDARRAY para sa "sort by" array ( by_array argumento) ng SORTBY function. Bibilangin ng ROWS function ang bilang ng mga row sa iyongset ng data, na nagsasaad kung gaano karaming mga random na numero ang bubuo:

    SORTBY( data , RANDARRAY(ROWS( data )))

    Sa diskarteng ito, magagawa mong random na pag-uri-uriin ang isang listahan sa Excel, naglalaman man ito ng mga numero, petsa o text entry:

    =SORTBY(A2:A13, RANDARRAY(ROWS(A2:A13)))

    Gayundin, maaari mo ring shuffle row nang hindi hinahalo ang iyong data:

    =SORTBY(A2:B10, RANDARRAY(ROWS(A2:B10)))

    Paano makakuha ng random na seleksyon sa Excel

    Upang mag-extract ng random sample mula sa isang listahan, narito ang isang generic na formula na gagamitin:

    INDEX( data , RANDARRAY( n , 1, 1, ROWS( data ), TRUE))

    Kung saan ang n ay ang bilang ng mga random na entry na gusto mong kunin.

    Halimbawa, para random na pumili ng 3 pangalan mula sa listahan sa A2:A10, gamitin ang formula na ito :

    =INDEX(A2:A10, RANDARRAY(3, 1, 1, ROWS(A2:A10), TRUE))

    O ipasok ang gustong laki ng sample sa ilang cell, sabihin ang C2, at i-reference ang cell na iyon:

    =INDEX(A2:A10, RANDARRAY(C2, 1, 1, ROWS(A2:A10), TRUE))

    Paano gumagana ang formula na ito:

    Sa core ng formula na ito ay ang RANDARRAY function na lumilikha ng random na hanay ng mga integer, na may value sa C2 na tumutukoy kung ilang value ang bubuo . Ang minimal na numero ay hardcoded (1) at ang maximum na numero ay tumutugma sa bilang ng mga row sa iyong set ng data, na ibinabalik ng ROWS function.

    Ang hanay ng mga random na integer ay direktang papunta sa row_num argumento ng INDEX function, na tumutukoy sa mga posisyon ng mga item na ibabalik. Para sa sample sa screenshot sa itaas, ito ay:

    =INDEX(A2:A10, {8;7;4})

    Tip. Kapag pumipili ng malaking sample mula saisang maliit na set ng data, malamang na ang iyong random na pagpili ay naglalaman ng higit sa isang pangyayari ng parehong entry, dahil walang garantiya na ang RANDARRAY ay gagawa lamang ng mga natatanging numero. Upang maiwasang mangyari ito, gumamit ng walang duplicate na bersyon ng formula na ito.

    Paano pumili ng mga random na row sa Excel

    Kung naglalaman ang iyong set ng data ng higit sa isang column, pagkatapos ay tukuyin kung aling mga column ang isasama sa sample. Para dito, magbigay ng array constant para sa huling argumento ( column_num ) ng INDEX function, tulad nito:

    =INDEX(A2:B10, RANDARRAY(D2, 1, 1, ROWS(A2:A10), TRUE), {1,2})

    Kung saan A2:B10 ang source data at Ang D2 ay ang sample na laki.

    Bilang resulta, ang aming random na pagpili ay maglalaman ng dalawang column ng data:

    Tip. Tulad ng kaso sa nakaraang halimbawa, ang formula na ito ay maaaring magbalik ng mga duplicate na tala. Upang matiyak na ang iyong sample ay walang pag-uulit, gumamit ng bahagyang naiibang diskarte na inilalarawan sa Paano pumili ng mga random na hilera nang walang mga duplicate.

    Paano random na magtalaga ng mga numero at text sa Excel

    Upang gumawa ng random na assignment sa Excel, gamitin ang RANDBETWEEN kasama ang CHOOSE function sa ganitong paraan:

    CHOOSE(RANDARRAY(ROWS( data ), 1, 1, n , TRUE), value1 , value2 ,…)

    Saan:

      <10 Ang> Data ay isang hanay ng iyong source data kung saan mo gustong magtalaga ng mga random na value.
    • N ay ang kabuuang bilang ng mga value na itatalaga.
    • Value1 , value2 , value3 , atbp. ang mga value na dapatitinalaga nang random.

    Halimbawa, para magtalaga ng mga numero mula 1 hanggang 3 sa mga kalahok sa A2:A13, gamitin ang formula na ito:

    =CHOOSE(RANDARRAY(ROWS(A2:A13), 1, 1, 3, TRUE), 1, 2, 3)

    Para sa kaginhawahan, maaari mong ilagay ang mga value na itatalaga sa magkakahiwalay na mga cell, sabihin nating mula D2 hanggang D4, at i-reference ang mga cell na iyon sa iyong formula (indibidwal, hindi bilang isang range):

    =CHOOSE(RANDARRAY(ROWS(A2:A13), 1, 1, 3, TRUE), D2, D3, D4)

    Bilang resulta, magagawa mong random na magtalaga ng anumang mga numero, titik, text, petsa at oras na may parehong formula:

    Tandaan. Ang RANDARRAY function ay patuloy na bubuo ng mga bagong random na halaga sa bawat pagbabago sa worksheet, bilang resulta ng mga bagong halaga ay itatalaga sa bawat oras. Upang "ayusin" ang mga itinalagang halaga, gamitin ang Paste Special > Mga feature ng values ​​upang palitan ang mga formula ng kanilang mga kalkuladong value.

    Paano gumagana ang formula na ito

    Sa gitna ng solusyon na ito ay muli ang RANDARRAY function na gumagawa ng hanay ng mga random na integer batay sa min at max na mga numero na iyong tinukoy (mula sa 1 hanggang 3 sa aming kaso). Ang ROWS function ay nagsasabi sa RANDARRAY kung gaano karaming mga random na numero ang bubuo. Ang array na ito ay papunta sa index_num argument ng CHOOSE function. Halimbawa:

    =CHOOSE({1;2;1;2;3;2;3;3;1;3;1;2}, D2, D3, D4)

    Index_num ay ang argumento na tumutukoy sa mga posisyon ng mga value na ibabalik. At dahil ang mga posisyon ay random, ang mga halaga sa D2:D4 ay pinili sa isang random na pagkakasunud-sunod. Oo, ganoon kasimple :)

    Paano random na magtalaga ng data sa mga grupo

    Kapag ang iyong gawain ay

    Si Michael Brown ay isang dedikadong mahilig sa teknolohiya na may hilig sa pagpapasimple ng mga kumplikadong proseso gamit ang mga tool sa software. Sa higit sa isang dekada ng karanasan sa industriya ng tech, hinasa niya ang kanyang mga kasanayan sa Microsoft Excel at Outlook, pati na rin ang Google Sheets at Docs. Ang blog ni Michael ay nakatuon sa pagbabahagi ng kanyang kaalaman at kadalubhasaan sa iba, na nagbibigay ng madaling sundan na mga tip at mga tutorial para sa pagpapabuti ng pagiging produktibo at kahusayan. Isa ka mang batikang propesyonal o baguhan, nag-aalok ang blog ni Michael ng mahahalagang insight at praktikal na payo para masulit ang mahahalagang software tool na ito.