Funkcia Excel RANDARRAY - rýchly spôsob generovania náhodných čísel

  • Zdieľajte To
Michael Brown

V návode sa dozviete, ako generovať náhodné čísla, náhodne zoradiť zoznam, získať náhodný výber a náhodne priradiť údaje do skupín. To všetko pomocou novej funkcie dynamického poľa - RANDARRAY.

Ako pravdepodobne viete, Microsoft Excel už má niekoľko náhodných funkcií - RAND a RANDBETWEEN. Aký zmysel má zavedenie ďalšej? V skratke preto, že je oveľa výkonnejšia a môže nahradiť obe staršie funkcie. Okrem nastavenia vlastných maximálnych a minimálnych hodnôt umožňuje určiť, koľko riadkov a stĺpcov sa má vyplniť a či sa majú vytvoriť náhodné desatinné čísla aleboPoužitím funkcie RANDARRAY spolu s ďalšími funkciami možno dokonca premiešať údaje a vybrať náhodnú vzorku.

    Funkcia Excel RANDARRAY

    Funkcia RANDARRAY v programe Excel vráti pole náhodných čísel medzi dvoma zadanými číslami.

    Je to jedna zo šiestich nových funkcií dynamického poľa zavedených v programe Microsoft Excel 365. Výsledkom je dynamické pole, ktoré sa automaticky rozleje do zadaného počtu riadkov a stĺpcov.

    Funkcia má nasledujúcu syntax. Všimnite si, že všetky argumenty sú nepovinné:

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

    Kde:

    Riadky (nepovinné) - určuje, koľko riadkov sa má vyplniť. Ak sa vynechá, predvolená hodnota je 1 riadok.

    Stĺpce (nepovinné) - definuje, koľko stĺpcov sa má vyplniť. Ak sa vynechá, predvolená hodnota je 1 stĺpec.

    Min (nepovinné) - najmenšie náhodné číslo, ktoré sa má vytvoriť. Ak nie je uvedené, použije sa predvolená hodnota 0.

    Max (nepovinné) - najväčšie náhodné číslo, ktoré sa má vytvoriť. Ak nie je uvedené, použije sa predvolená hodnota 1.

    Celé_číslo (nepovinné) - určuje, aké hodnoty sa majú vrátiť:

    • TRUE - celé čísla
    • FALSE alebo vynechané (predvolené) - desatinné čísla

    Funkcia RANDARRAY - čo si treba zapamätať

    Ak chcete efektívne generovať náhodné čísla v hárkoch programu Excel, je potrebné venovať pozornosť 6 dôležitým bodom:

    • Funkcia RANDARRAY je k dispozícii len v aplikácii Excel pre Microsoft 365 a Excel 2021. V aplikáciách Excel 2019, Excel 2016 a starších verziách nie je funkcia RANDARRAY k dispozícii.
    • Ak je pole vrátené funkciou RANDARRAY konečným výsledkom (výstupom v bunke a nie je odovzdané inej funkcii), Excel automaticky vytvorí dynamický rozptylový rozsah a vyplní ho náhodnými číslami. Preto sa uistite, že máte dostatok prázdnych buniek dole a/alebo napravo od bunky, do ktorej zadávate vzorec, inak dôjde k chybe #SPILL.
    • Ak nie je zadaný žiadny z argumentov, vzorec RANDARRAY() vráti jedno desatinné číslo medzi 0 a 1.
    • Ak sa riadky alebo/a stĺpce argumenty sú reprezentované desatinnými číslami, budú skrátené na celé celé číslo pred desatinnou čiarkou (napr. 5,9 bude považované za 5).
    • Ak sa min alebo max argument nie je definovaný, RANDARRAY má predvolenú hodnotu 0, resp. 1.
    • Podobne ako iné náhodné funkcie, aj funkcia Excel RANDARRAY je volatilné , čo znamená, že pri každom výpočte pracovného hárka generuje nový zoznam náhodných hodnôt. Aby ste tomu zabránili, môžete vzorce nahradiť hodnotami pomocou funkcie Excelu Vložiť špeciálne > Hodnoty funkcia.

    Základný vzorec Excel RANDARRAY

    A teraz vám ukážem náhodný vzorec programu Excel v jeho najjednoduchšej podobe.

    Predpokladajme, že chcete vyplniť rozsah pozostávajúci z 5 riadkov a 3 stĺpcov ľubovoľnými náhodnými číslami. Ak to chcete urobiť, nastavte prvé dva argumenty takto:

    • Riadky je 5, pretože chceme získať výsledky v 5 riadkoch.
    • Stĺpce je 3, pretože chceme mať výsledky v 3 stĺpcoch.

    Všetky ostatné argumenty ponecháme na predvolených hodnotách a dostaneme nasledujúci vzorec:

    =RANDARRAY(5, 3)

    Zadajte ho do ľavej hornej bunky cieľového rozsahu (v našom prípade A2), stlačte kláves Enter a výsledky sa rozložia na zadaný počet riadkov a stĺpcov.

    Ako vidíte na obrázku vyššie, tento základný vzorec RANDARRAY vyplní rozsah náhodnými desatinnými číslami od 0 do 1. Ak chcete radšej získať celé čísla v určitom rozsahu, nakonfigurujte posledné tri argumenty tak, ako je uvedené v ďalších príkladoch.

    Ako náhodne vyberať v programe Excel - príklady vzorca RANDARRAY

    Nižšie nájdete niekoľko pokročilých vzorcov, ktoré pokrývajú typické scenáre náhodného výberu v programe Excel.

    Generovanie náhodných čísel medzi dvoma číslami

    Ak chcete vytvoriť zoznam náhodných čísel v určitom rozsahu, zadajte minimálnu hodnotu do 3. argumentu a maximálne číslo do 4. argumentu. V závislosti od toho, či potrebujete celé alebo desatinné čísla, nastavte 5. argument na TRUE, resp. na FALSE.

    Ako príklad uvedieme vyplnenie rozsahu 6 riadkov a 4 stĺpcov náhodnými celými číslami od 1 do 100. Na tento účel nastavíme nasledujúce argumenty funkcie RANDARRAY:

    • Riadky je 6, pretože chceme získať výsledky v 6 riadkoch.
    • Stĺpce je 4, pretože chceme mať výsledky v 4 stĺpcoch.
    • Min je 1, čo je minimálna hodnota, ktorú chceme dosiahnuť.
    • Max je 100, čo je maximálna hodnota, ktorú možno vygenerovať.
    • Celé_číslo je TRUE, pretože potrebujeme celé čísla.

    Ak si tieto argumenty spojíme, dostaneme tento vzorec:

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

    Výsledkom je nasledujúci výsledok:

    Generovanie náhodného dátumu medzi dvoma dátumami

    Hľadáte generátor náhodných dátumov v programe Excel? Funkcia RANDARRAY je jednoduchým riešením! Stačí zadať skorší dátum (dátum 1) a neskorší dátum (dátum 2) do preddefinovaných buniek a potom sa na tieto bunky odvolať vo vzorci:

    RANDARRAY(riadky, stĺpce, dátum1 , dátum2 , TRUE)

    V tomto príklade sme vytvorili zoznam náhodných dátumov medzi dátumami v D1 a D2 pomocou tohto vzorca:

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

    Samozrejme, nič vám nebráni zadať dátumy min a max priamo vo vzorci, ak si to želáte. Len sa uistite, že ich zadávate vo formáte, ktorému Excel rozumie:

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

    Aby ste predišli chybám, môžete na zadávanie dátumov použiť funkciu DÁTUM:

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

    Poznámka: Interne Excel ukladá dátumy ako poradové čísla, takže výsledky vzorca sa s najväčšou pravdepodobnosťou zobrazia ako čísla. Ak chcete výsledky zobraziť správne, použite Dátum formát pre všetky bunky v rozsahu vyliatia.

    Generovanie náhodných pracovných dní v programe Excel

    Ak chcete vytvoriť náhodné pracovné dni, vložte funkciu RANDARRAY do prvého argumentu funkcie WORKDAY takto:

    WORKDAY(RANDARRAY(riadky, stĺpce, dátum1 , dátum2 , TRUE), 1)

    RANDARRAY vytvorí pole náhodných dátumov začiatku, ku ktorému funkcia WORKDAY pridá 1 pracovný deň a zabezpečí, aby všetky vrátené dátumy boli pracovné dni.

    S dátumom 1 v D1 a dátumom 2 v D2 je tu vzorec na vytvorenie zoznamu 10 pracovných dní:

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

    Rovnako ako v predchádzajúcom príklade nezabudnite formátovať rozsah úniku ako Dátum aby sa výsledky zobrazovali správne.

    Ako generovať náhodné čísla bez duplikátov

    Hoci moderný Excel ponúka 6 nových funkcií dynamického poľa, bohužiaľ, stále nemá zabudovanú funkciu na vrátenie náhodných čísel bez duplikátov.

    Ak si chcete vytvoriť vlastný jedinečný generátor náhodných čísel v programe Excel, budete musieť zreťaziť niekoľko funkcií, ako je uvedené nižšie.

    Náhodné celé čísla :

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

    Náhodné desatinné čísla :

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

    Kde:

    • N je počet hodnôt, ktoré chcete vygenerovať.
    • Min je najnižšia hodnota.
    • Max je najvyššia hodnota.

    Ak chcete napríklad vytvoriť 10 náhodných celých čísel bez duplikátov, použite tento vzorec:

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

    Vytvorenie zoznamu 10 jedinečných náhodné desatinné čísla , zmeňte TRUE na FALSE v poslednom argumente funkcie RANDARRAY alebo tento argument jednoducho vynechajte:

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

    Tipy a poznámky:

    • Podrobné vysvetlenie vzorca nájdete v článku Ako generovať náhodné čísla v programe Excel bez duplikátov.
    • V aplikácii Excel 2019 a starších nie je k dispozícii funkcia RANDARRAY. Namiesto nej si pozrite toto riešenie.

    Ako náhodne triediť v programe Excel

    Ak chcete v programe Excel premiešať údaje, použite pole RANDARRAY pre pole "zoradiť podľa" ( by_array Funkcia ROWS spočíta počet riadkov v súbore údajov a určí, koľko náhodných čísel sa má vygenerovať:

    SORTBY( údaje , RANDARRAY(RIADKY( údaje )))

    Vďaka tomuto prístupu môžete náhodne zoradiť zoznam v programe Excel, či už obsahuje čísla, dátumy alebo textové položky:

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

    Môžete tiež premiešať riadky bez miešania údajov:

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

    Ako získať náhodný výber v programe Excel

    Na získanie náhodnej vzorky zo zoznamu môžete použiť tento všeobecný vzorec:

    INDEX( údaje , RANDARRAY( n , 1, 1, ROWS( údaje ), TRUE))

    Kde n je počet náhodných položiek, ktoré chcete extrahovať.

    Ak chcete napríklad náhodne vybrať 3 mená zo zoznamu v A2:A10, použite tento vzorec:

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

    Alebo zadajte požadovanú veľkosť vzorky do niektorej bunky, napríklad C2, a odvolajte sa na túto bunku:

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

    Ako tento vzorec funguje:

    Jadrom tohto vzorca je funkcia RANDARRAY, ktorá vytvára náhodné pole celých čísel, pričom hodnota v C2 definuje, koľko hodnôt sa má vygenerovať. Minimálny počet je pevne zadaný (1) a maximálny počet zodpovedá počtu riadkov vo vašom súbore údajov, ktorý vracia funkcia ROWS.

    Pole náhodných celých čísel prechádza priamo do číslo_riadku argument funkcie INDEX, ktorý určuje pozície položiek, ktoré sa majú vrátiť. Pre vzorku na obrázku vyššie je to:

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

    Tip: Pri výbere veľkej vzorky z malého súboru údajov je pravdepodobné, že váš náhodný výber bude obsahovať viac ako jeden výskyt tej istej položky, pretože neexistuje záruka, že RANDARRAY bude vytvárať len jedinečné čísla. Ak tomu chcete zabrániť, použite verziu tohto vzorca bez duplikátov.

    Ako vybrať náhodné riadky v programe Excel

    Ak váš súbor údajov obsahuje viac ako jeden stĺpec, určte, ktoré stĺpce sa majú zahrnúť do vzorky. Na tento účel zadajte ako posledný argument konštantu poľa ( column_num ) funkcie INDEX takto:

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

    Kde A2:B10 sú zdrojové údaje a D2 je veľkosť vzorky.

    Výsledkom je, že náš náhodný výber bude obsahovať dva stĺpce údajov:

    Tip. Podobne ako v predchádzajúcom príklade môže tento vzorec vrátiť duplicitné záznamy. Ak chcete zabezpečiť, aby sa vo vašej vzorke neopakovali žiadne záznamy, použite trochu iný prístup opísaný v časti Ako vybrať náhodné riadky bez duplicít.

    Ako náhodne priradiť čísla a text v programe Excel

    Ak chcete v programe Excel vykonať náhodné priradenie, použite funkciu RANDBETWEEN spolu s funkciou CHOOSE týmto spôsobom:

    CHOOSE(RANDARRAY(ROWS( údaje ), 1, 1, n , TRUE), hodnota1 , hodnota2 ,...)

    Kde:

    • Údaje je rozsah zdrojových údajov, ktorým chcete priradiť náhodné hodnoty.
    • N je celkový počet hodnôt, ktoré sa majú priradiť.
    • Hodnota1 , hodnota2 , hodnota3 , atď. sú hodnoty, ktoré sa majú prideliť náhodne.

    Ak chcete napríklad priradiť účastníkom v A2:A13 čísla od 1 do 3, použite tento vzorec:

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

    Pre väčšie pohodlie môžete hodnoty, ktoré chcete priradiť, zadať do samostatných buniek, napríklad od D2 do D4, a vo vzorci sa na tieto bunky odvolať (jednotlivo, nie ako na rozsah):

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

    Výsledkom je možnosť náhodne priradiť ľubovoľné čísla, písmená, text, dátumy a časy pomocou rovnakého vzorca:

    Poznámka: Funkcia RANDARRAY bude pri každej zmene v pracovnom hárku neustále generovať nové náhodné hodnoty, v dôsledku čoho budú zakaždým priradené nové hodnoty. Ak chcete "opraviť" priradené hodnoty, použite funkcie Vložiť špeciálne> hodnoty na nahradenie vzorcov ich vypočítanými hodnotami.

    Ako tento vzorec funguje

    Základom tohto riešenia je opäť funkcia RANDARRAY, ktorá vytvára pole náhodných celých čísel na základe zadaných min. a max. čísel (v našom prípade od 1 do 3). Funkcia ROWS hovorí funkcii RANDARRAY, koľko náhodných čísel má vygenerovať. Toto pole ide do index_num argument funkcie CHOOSE. Napríklad:

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

    Index_num je argument, ktorý určuje pozície hodnôt, ktoré sa majú vrátiť. A keďže pozície sú náhodné, hodnoty v D2:D4 sa vyberajú v náhodnom poradí. Áno, je to také jednoduché :)

    Ako náhodne priradiť údaje do skupín

    Ak je vašou úlohou náhodne priradiť účastníkov do skupín, uvedený vzorec nemusí byť vhodný, pretože nekontroluje, koľkokrát sa daná skupina vyberie. Napríklad do skupiny A môže byť priradených 5 osôb, zatiaľ čo do skupiny C len 2 osoby. Ak chcete vykonať náhodné priradenie rovnomerne , aby každá skupina mala rovnaký počet účastníkov, potrebujete iné riešenie.

    Najskôr vygenerujete zoznam náhodných čísel pomocou tohto vzorca:

    =RANDARRAY(ROWS(A2:A13))

    Kde A2:A13 sú vaše zdrojové údaje.

    A potom priradíte skupiny (alebo čokoľvek iné) pomocou tohto všeobecného vzorca:

    INDEX( values_to_assign , ZAOKRÚHLENIE(RANK( first_random_number , random_numbers_range )/ n , 0))

    Kde n je veľkosť skupiny, t. j. počet priradení každej hodnoty.

    Ak chcete napríklad náhodne priradiť ľudí do skupín uvedených v E2:E5 tak, aby každá skupina mala 3 účastníkov, použite tento vzorec:

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

    Všimnite si, že ide o obyčajný vzorec (nie vzorec dynamického poľa!), takže je potrebné uzamknúť rozsahy pomocou absolútnych odkazov ako vo vyššie uvedenom vzorci.

    Zadajte vzorec do hornej bunky (v našom prípade C2) a potom ho potiahnite dole do toľkých buniek, koľko potrebujete. Výsledok bude vyzerať podobne ako tento:

    Nezabudnite, že funkcia RANDARRAY je nestála. Ak chcete zabrániť generovaniu nových náhodných hodnôt zakaždým, keď niečo v pracovnom hárku zmeníte, nahraďte vzorce ich hodnotami pomocou funkcie Vložiť špeciálne funkcia.

    Ako tento vzorec funguje:

    Vzorec RANDARRAY v pomocnom stĺpci je veľmi jednoduchý a nevyžaduje si takmer žiadne vysvetlenie, preto sa zamerajme na vzorec v stĺpci C.

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

    Funkcia RANK zoradí hodnotu v B2 oproti poli náhodných čísel v B2:B13. Výsledkom je číslo medzi 1 a celkovým počtom účastníkov (v našom prípade 12).

    Hodnota sa vydelí veľkosťou skupiny (v našom príklade 3) a funkcia ROUNDUP ju zaokrúhli nahor na najbližšie celé číslo. Výsledkom tejto operácie je číslo medzi 1 a celkovým počtom skupín (v tomto príklade 4).

    Celé číslo sa prenesie do číslo_riadku argument funkcie INDEX, čím ju prinúti vrátiť hodnotu z príslušného riadku v rozsahu E2:E5, ktorý predstavuje priradenú skupinu.

    Nefunguje funkcia Excel RANDARRAY

    Keď vzorec RANDARRAY vráti chybu, sú to najzrejmejšie dôvody, ktoré treba skontrolovať:

    Chyba #SPILL

    Podobne ako pri iných funkciách dynamického poľa, chyba #SPILL! najčastejšie znamená, že v zamýšľanom rozsahu vysypania nie je dostatok miesta na zobrazenie všetkých výsledkov. Stačí vymazať všetky bunky v tomto rozsahu a vzorec sa automaticky prepočíta. Ďalšie informácie nájdete v časti Chyba #SPILL programu Excel - príčiny a opravy.

    Chyba #VALUE

    Za týchto okolností môže dôjsť k chybe #VALUE!

    • Ak a max je menšia ako hodnota min hodnota.
    • Ak niektorý z argumentov nie je číselný.

    #NAME chyba

    Vo väčšine prípadov chyba #NAME! znamená jednu z nasledujúcich možností:

    • Názov funkcie je napísaný nesprávne.
    • Táto funkcia nie je vo vašej verzii programu Excel k dispozícii.

    #CALC! chyba

    Chyba #CALC! nastane, ak riadky alebo stĺpce je menší ako 1 alebo sa vzťahuje na prázdnu bunku.

    To je návod na vytvorenie generátora náhodných čísel v programe Excel pomocou novej funkcie RANDARRAY. Ďakujem vám za prečítanie a dúfam, že sa uvidíme na našom blogu budúci týždeň!

    Cvičebnica na stiahnutie

    Príklady vzorca RANDARRAY (.xlsx súbor)

    Michael Brown je nadšený technologický nadšenec s vášňou pre zjednodušovanie zložitých procesov pomocou softvérových nástrojov. S viac ako desaťročnými skúsenosťami v technologickom priemysle si zdokonalil svoje zručnosti v programoch Microsoft Excel a Outlook, ako aj Tabuľky Google a Dokumenty. Michaelov blog je venovaný zdieľaniu svojich vedomostí a odborných znalostí s ostatnými a poskytuje jednoduché tipy a návody na zlepšenie produktivity a efektivity. Či už ste skúsený profesionál alebo začiatočník, Michaelov blog ponúka cenné poznatky a praktické rady, ako z týchto základných softvérových nástrojov vyťažiť maximum.