Excel RANDARRAY-funksie - vinnige manier om ewekansige getalle te genereer

  • Deel Dit
Michael Brown

Die tutoriaal wys hoe om ewekansige getalle te genereer, 'n lys lukraak te sorteer, ewekansige seleksie te kry en data lukraak aan groepe toe te ken. Almal met 'n nuwe dinamiese skikkingsfunksie - RANDARRAY.

Soos jy waarskynlik weet, het Microsoft Excel reeds 'n paar ewekansige funksies - RAND en RANDBETWEEN. Wat is die sin om nog een bekend te stel? In 'n neutedop, want dit is baie kragtiger en kan beide ouer funksies vervang. Afgesien van die opstel van jou eie maksimum en minimum waardes, dit laat jou spesifiseer hoeveel rye en kolomme om te vul en of om ewekansige desimale of heelgetalle te produseer. Word saam met ander funksies gebruik, kan RANDARRAY selfs data skommel en 'n ewekansige steekproef kies.

    Excel RANDARRAY-funksie

    Die RANDARRAY-funksie in Excel gee 'n skikking van ewekansige getalle terug tussen enige twee getalle wat jy spesifiseer.

    Dit is een van ses nuwe dinamiese skikkingsfunksies wat in Microsoft Excel 365 bekendgestel is. Die resultaat is 'n dinamiese skikking wat outomaties in die gespesifiseerde aantal rye en kolomme mors.

    Die funksie het die volgende sintaksis. Let asseblief daarop dat al die argumente opsioneel is:

    RANDARRAY([rye], [kolomme], [min], [maks], [heelgetal])

    Waar:

    Rye (opsioneel) - definieer hoeveel rye om te vul. Indien weggelaat, word verstek na 1 ry.

    Kolomme (opsioneel) - definieer hoeveel kolomme gevul moet word. As dit weggelaat word, is dit verstek na 1deelnemers ewekansig aan groepe toewys, is die bogenoemde formule dalk nie geskik nie omdat dit nie beheer hoeveel keer 'n gegewe groep gekies word nie. Byvoorbeeld, 5 persone kan aan groep A toegewys word terwyl slegs 2 persone aan groep C toegewys kan word. Om ewekansige opdrag gelyk te doen, sodat elke groep dieselfde aantal deelnemers het, het jy 'n ander oplossing nodig.

    Eers genereer jy 'n lys ewekansige getalle deur hierdie formule te gebruik:

    =RANDARRAY(ROWS(A2:A13))

    Waar A2:A13 jou brondata is.

    En dan ken jy groepe toe (of enigiets anders) deur hierdie generiese formule te gebruik:

    INDEX( waardes_om_toe te wys, ROUNDUP(RANK( eerste_willekeurige_getal, ewekansige_getalle_reeks)/ n, 0))

    Waar n die groepgrootte is, dit wil sê die aantal kere wat elke waarde toegeken moet word.

    Byvoorbeeld, om mense lukraak toe te wys aan die groepe wat in E2:E5 gelys word, sodat elke groep 3 deelnemers het, gebruik hierdie formule:

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

    Let asseblief kennis dat dit 'n gereelde formule is (nie 'n dinamiese skikkingsformule!), dus moet jy die reekse met absolute verwysings sluit soos in die formule hierbo.

    Tik jou formule in die boonste sel (C2 in ons geval) en die n sleep dit af na soveel selle as wat nodig is. Die resultaat sal soos volg lyk:

    Onthou asseblief dat die RANDARRAY-funksie wisselvallig is. Om te verhoed dat nuwe ewekansige waardes gegenereer word elke keer as jy iets in die werkblad verander, vervangformules met hul waardes deur die Plak Spesiale -kenmerk te gebruik.

    Hoe hierdie formule werk:

    Die RANDARRAY-formule in die helperkolom is baie eenvoudig en vereis skaars verduideliking, so kom ons fokus op die formule in kolom C.

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

    Die RANK-funksie rangskik die waarde in B2 teenoor die skikking van ewekansige getalle in B2:B13. Die resultaat is 'n getal tussen 1 en die totale aantal deelnemers (12 in ons geval).

    Die rang word gedeel deur die groepgrootte, (3 in ons voorbeeld), en die ROUNDUP-funksie rond dit af tot die naaste heelgetal. Die resultaat van hierdie bewerking is 'n getal tussen 1 en die totale aantal groepe (4 in hierdie voorbeeld).

    Die heelgetal gaan na die ry_getal -argument van die INDEX-funksie, wat dit dwing om gee 'n waarde van die ooreenstemmende ry in die reeks E2:E5 terug, wat die toegewysde groep verteenwoordig.

    Excel RANDARRAY-funksie werk nie

    Wanneer jou RANDARRAY-formule 'n fout terugstuur, is dit die mees ooglopende redes om na te gaan:

    #MORS-fout

    Soos met enige ander dinamiese skikkingsfunksie, 'n #SPILL! fout beteken meestal dat daar nie genoeg spasie in die beoogde stortingsreeks is om al die resultate te vertoon nie. Maak net al die selle in hierdie reeks skoon, en jou formule sal outomaties herbereken. Vir meer inligting, sien asseblief Excel #MORS-fout - oorsake en oplossings.

    #WAARDE-fout

    'n #WAARDE! fout kan in hierdie voorkomomstandighede:

    • As 'n maks waarde minder is as 'n min waarde.
    • As enige van die argumente nie-numeries is.

    #NAAM-fout

    In die meeste gevalle, 'n #NAAM! fout dui op een van die volgende:

    • Die funksie se naam is verkeerd gespel.
    • Die funksie is nie in jou Excel-weergawe beskikbaar nie.

    #CALC! fout

    'n #CALC! fout vind plaas as die rye of kolomme argument minder as 1 is of na 'n leë sel verwys.

    Dit is hoe om 'n ewekansige getalgenerator in Excel te bou met die nuwe RANDARRAY funksie. Ek bedank jou vir die lees en hoop om jou volgende week op ons blog te sien!

    Oefen werkboek om af te laai

    RANDARRAY formule voorbeelde (.xlsx lêer)

    kolom.

    Min (opsioneel) - die kleinste ewekansige getal om te produseer. Indien nie gespesifiseer nie, word die verstek 0 waarde gebruik.

    Maks (opsioneel) - die grootste ewekansige getal om te skep. Indien nie gespesifiseer nie, word die verstek 1 waarde gebruik.

    Hele_getal (opsioneel) - bepaal watter soort waardes om terug te gee:

    • WAAR - heelgetalle
    • ONWAAR of weggelaat (verstek) - desimale getalle

    RANDARRAY-funksie - dinge om te onthou

    Om ewekansige getalle doeltreffend in jou Excel-werkblaaie te genereer, is daar 6 belangrike punte kennis te neem van:

    • Die RANDARRAY-funksie is slegs beskikbaar in Excel vir Microsoft 365 en Excel 2021. In Excel 2019, Excel 2016 en vroeër weergawes is die RANDARRAY-funksie nie beskikbaar nie.
    • As die skikking wat deur RANDARRAY teruggestuur word die finale resultaat is (uitset in 'n sel en nie na 'n ander funksie oorgedra word nie), skep Excel outomaties 'n dinamiese morsreeks en vul dit met die ewekansige getalle in. Maak dus seker jy het genoeg leë selle onder en/of regs van die sel waar jy die formule intik, anders sal 'n #MORS-fout voorkom.
    • As nie een van die argumente gespesifiseer is nie, sal 'n RANDARRAY( ) formule gee 'n enkele desimale getal tussen 0 en 1 terug.
    • As die rye of/en kolomme argumente deur desimale getalle voorgestel word, sal hulle afgekap word na die heelgetal voor die desimale punt (bv. 5.9 sal behandel wordas 5).
    • As die min - of maks -argument nie gedefinieer is nie, is RANDARRAY as verstek 0 en 1 onderskeidelik.
    • Soos ander ewekansige funksies, Excel RANDARRAY is vlugtig , wat beteken dat dit 'n nuwe lys ewekansige waardes genereer elke keer as die werkblad bereken word. Om te voorkom dat dit gebeur, kan jy formules met waardes vervang deur Excel se Plak Spesiale > Waardes -kenmerk te gebruik.

    Basiese Excel RANDARRAY-formule

    En nou, laat ek vir jou 'n ewekansige Excel-formule in sy eenvoudigste vorm wys.

    Gestel jy wil 'n reeks wat bestaan ​​uit 5 rye en 3 kolomme met enige ewekansige getalle vul. Om dit te laat doen, stel die eerste twee argumente so op:

    • Rye is 5 aangesien ons die resultate in 5 rye wil hê.
    • Kolomme is 3 aangesien ons die resultate in 3 kolomme wil hê.

    Al die ander argumente laat ons na hul verstekwaardes en kry die volgende formule:

    =RANDARRAY(5, 3)

    Voer dit in die boonste linkersel van die bestemmingsreeks in (A2 in ons geval), druk die Enter-sleutel, en jy sal die resultate oor die gespesifiseerde aantal rye en kolomme laat mors.

    Soos jy in die skermkiekie hierbo kan sien, vul hierdie basiese RANDARRAY-formule die reeks met ewekansige desimale getalle van 0 tot 1. As jy eerder heelgetalle binne 'n spesifieke reeks wil kry, stel dan die laaste op drie argumente soos gedemonstreer in verdere voorbeelde.

    Hoe om ewekansig inExcel - RANDARRAY formule voorbeelde

    Hieronder sal jy 'n paar gevorderde formules vind wat tipiese ewekansige scenario's in Excel dek.

    Genereer ewekansige getalle tussen twee getalle

    Om 'n lys te skep van ewekansige getalle binne 'n spesifieke reeks, verskaf die minimum waarde in die 3de argument en die maksimum getal in die 4de argument. Afhangende van of jy heelgetalle of desimale benodig, stel die 5de argument op WAAR of ONWAAR, onderskeidelik.

    Kom ons vul as voorbeeld 'n reeks van 6 rye en 4 kolomme met ewekansige heelgetalle van 1 tot 100. Hiervoor , stel ons die volgende argumente van die RANDARRAY-funksie op:

    • Rye is 6 aangesien ons die resultate in 6 rye wil hê.
    • Kolomme is 4 aangesien ons die resultate in 4 kolomme wil hê.
    • Min is 1, wat die minimum waarde is wat ons wil hê.
    • Maks is 100, wat die maksimum waarde is wat gegenereer moet word.
    • Hele_getal is WAAR omdat ons heelgetalle nodig het.

    Om die argumente saam te stel, kry ons hierdie formule:

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

    En dit lewer die volgende resultaat:

    Genereer ewekansige datum tussen twee datums

    Op soek na 'n ewekansige datumgenerator in Excel? Die RANDARRAY-funksie is 'n maklike oplossing! Al wat jy hoef te doen is om die vroeëre datum (datum 1) en later datum (datum 2) in voorafbepaalde selle in te voer, en dan na daardie selle in jou formule te verwys:

    RANDARRAY(rye, kolomme, datum1, date2, TRUE)

    Vir hierdie voorbeeld het ons 'n lys van ewekansige datums tussen die datums in D1 en D2 geskep met hierdie formule:

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

    Natuurlik verhinder niks jou om die min en maksimum datums direk in die formule te verskaf as jy wil nie. Maak net seker jy voer hulle in in die formaat wat Excel kan verstaan:

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

    Om foute te voorkom, kan jy die DATUM-funksie gebruik om datums in te voer:

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

    Let wel. Intern berg Excel datums as reeksnommers, so die formuleresultate sal heel waarskynlik as nommers vertoon word. Om die resultate korrek te vertoon, pas die Datum -formaat toe op al die selle in die stortingsreeks.

    Genereer ewekansige werksdae in Excel

    Om ewekansige werksdae te produseer, sluit die RANDARRAY-funksie in die eerste argument van WORKDAY soos volg in:

    WORKDAY(RANDARRAY(rye, kolomme, datum1<2)>, datum2 , WAAR), 1)

    RANDARRAY sal 'n verskeidenheid ewekansige begindatums skep, waarby die WERKDAG-funksie 1 werksdag sal byvoeg en verseker dat al die teruggestuurde datums werksdae is.

    Met datum 1 in D1 en datum 2 in D2, hier is die formule om 'n lys van 10 weeksdae te produseer:

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

    Soos met die vorige voorbeeld, onthou asseblief om die stortingsreeks as Datum te formateer om die resultate korrek te vertoon.

    Hoe om ewekansige getalle sonder duplikate te genereer

    Hoewel moderne Excel 6 bied nuwe dinamiese skikkingfunksies, ongelukkig is daar steeds geen ingeboude funksie om ewekansige getalle sonder duplikate terug te gee nie.

    Om jou eie unieke ewekansige getalgenerator in Excel te bou, sal jy verskeie funksies aanmekaar moet ketting soos aangedui hieronder.

    Ewekansige heelgetalle :

    INDEX(UNIQUE(RANDARRAY( n *2, 1, min , maks. , WAAR)), VOLGORDE( n ))

    Ewekansige desimale :

    INDEX(UNIQUE(RANDARRAY( n *2, 1, min , maks , ONWAAR)), VOLGORDE( n ))

    Waar:

    • N is hoeveel waardes jy wil genereer.
    • Min is die laagste waarde.
    • Maks is die hoogste waarde.

    Om byvoorbeeld 10 ewekansige heelgetalle sonder duplikate te produseer, gebruik hierdie formule:

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

    Om 'n lys van 10 unieke ewekansige desimale getalle , verander WAAR na ONWAAR in die laaste argument van die RANDARRAY-funksie of laat eenvoudig hierdie argument weg:

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

    Wenke en notas:

    • Die gedetailleerde verduideliking van die formule kan f ound in Hoe om ewekansige getalle in Excel te genereer sonder duplikate.
    • In Excel 2019 en vroeër is die RANDARRAY-funksie nie beskikbaar nie. Kyk eerder na hierdie oplossing.

    Hoe om lukraak in Excel te sorteer

    Om data in Excel te skommel, gebruik RANDARRAY vir die "sorteer volgens" skikking ( volgens_skikking argument) van die SORTBY-funksie. Die RYE-funksie sal die aantal rye in jou teldatastel, wat aandui hoeveel ewekansige getalle om te genereer:

    SORTBY( data , RANDARRAY(RYE( data )))

    Met hierdie benadering kan jy sorteer 'n lys lukraak in Excel, of dit nou getalle, datums of teksinskrywings bevat:

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

    Jy kan ook skommel rye sonder om jou data te meng:

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

    Hoe om 'n ewekansige keuse in Excel te kry

    Om 'n ewekansige onttrek voorbeeld uit 'n lys, hier is 'n generiese formule om te gebruik:

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

    Waar n die aantal ewekansige inskrywings is wat jy wil onttrek.

    Byvoorbeeld, om lukraak 3 name uit die lys in A2:A10 te kies, gebruik hierdie formule :

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

    Of voer die gewenste steekproefgrootte in in een of ander sel, sê C2, en verwys na daardie sel:

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

    Hoe hierdie formule werk:

    Die kern van hierdie formule is die RANDARRAY-funksie wat 'n ewekansige verskeidenheid heelgetalle skep, met die waarde in C2 wat definieer hoeveel waardes om te genereer . Die minimale getal is hardkodeer (1) en die maksimum getal stem ooreen met die aantal rye in jou datastel, wat deur die ROWS-funksie teruggestuur word.

    Die skikking ewekansige heelgetalle gaan direk na die ry_getal argument van die INDEX-funksie, wat die posisies spesifiseer van die items om terug te stuur. Vir die voorbeeld in die skermkiekie hierbo is dit:

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

    Wenk. Wanneer 'n groot monster uit'n klein datastel, is die kans goed dat jou ewekansige seleksie meer as een voorkoms van dieselfde inskrywing sal bevat, want daar is geen waarborg dat RANDARRAY slegs unieke nommers sal produseer nie. Om te voorkom dat dit gebeur, gebruik 'n duplikaatvrye weergawe van hierdie formule.

    Hoe om ewekansige rye in Excel te kies

    As jou datastel meer as een kolom bevat, spesifiseer dan watter kolomme om in die steekproef in te sluit. Hiervoor verskaf 'n skikkingkonstante vir die laaste argument ( kolom_nommer ) van die INDEX-funksie, soos hierdie:

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

    Waar A2:B10 die brondata en D2 is die steekproefgrootte.

    As gevolg hiervan sal ons ewekansige seleksie twee kolomme data bevat:

    Wenk. Soos in die geval met die vorige voorbeeld, kan hierdie formule duplikaatrekords terugstuur. Om te verseker dat jou steekproef geen herhalings het nie, gebruik 'n effens ander benadering wat beskryf word in Hoe om ewekansige rye sonder duplikate te kies.

    Hoe om nommers en teks ewekansig in Excel toe te ken

    Om ewekansige opdrag in Excel te doen, gebruik RANDBETWEEN saam met die KIES-funksie op hierdie manier:

    KIES(RANDARRAY(RYE( data ), 1, 1, n , WAAR), waarde1 , waarde2 ,...)

    Waar:

    • Data is 'n reeks van jou brondata waaraan jy ewekansige waardes wil toeken.
    • N is die totale aantal waardes om toe te ken.
    • Waarde1 , waarde2 , waarde3 , ens. is die waardes wat moet weeslukraak toegewys.

    Om byvoorbeeld nommers van 1 tot 3 aan deelnemers in A2:A13 toe te ken, gebruik hierdie formule:

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

    Geriefshalwe kan jy die waardes om toe te ken in aparte selle invoer, sê van D2 tot D4, en na daardie selle in jou formule verwys (individueel, nie as 'n reeks):

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

    As gevolg hiervan sal jy enige syfers, letters, teks, datums en tye ewekansig met dieselfde formule kan toeken:

    Let wel. Die RANDARRAY-funksie sal aanhou om nuwe ewekansige waardes te genereer met elke verandering in die werkblad, aangesien die resultaat elke keer nuwe waardes toegeken sal word. Om die toegekende waardes te "regmaak", gebruik die Plak Spesiale > Waardes kenmerke om formules met hul berekende waardes te vervang.

    Hoe hierdie formule werk

    Die kern van hierdie oplossing is weer die RANDARRAY-funksie wat 'n verskeidenheid ewekansige heelgetalle produseer gebaseer op die min en maksimum getalle wat jy spesifiseer (vanaf 1 tot 3 in ons geval). Die RYE-funksie vertel RANDARRAY hoeveel ewekansige getalle om te genereer. Hierdie skikking gaan na die indeks_getal argument van die KIES-funksie. Byvoorbeeld:

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

    Indeks_getal is die argument wat die posisies van die waardes bepaal om terug te keer. En omdat die posisies ewekansig is, word die waardes in D2:D4 in 'n ewekansige volgorde gekies. Jip, dit is so eenvoudig :)

    Hoe om data ewekansig aan groepe toe te wys

    Wanneer jou taak is om

    Michael Brown is 'n toegewyde tegnologie-entoesias met 'n passie om komplekse prosesse te vereenvoudig deur sagteware-instrumente te gebruik. Met meer as 'n dekade se ondervinding in die tegnologiebedryf, het hy sy vaardighede in Microsoft Excel en Outlook, sowel as Google Sheets en Docs, opgeskerp. Michael se blog is toegewy daaraan om sy kennis en kundigheid met ander te deel, en verskaf maklik-om-te volg wenke en tutoriale vir die verbetering van produktiwiteit en doeltreffendheid. Of jy nou 'n ervare professionele persoon of 'n beginner is, Michael se blog bied waardevolle insigte en praktiese raad om die meeste uit hierdie noodsaaklike sagteware-nutsmiddels te kry.