Excel RANDARRAY-funksje - rappe manier om willekeurige sifers te generearjen

  • Diel Dit
Michael Brown

De tutorial lit sjen hoe't jo willekeurige nûmers kinne generearje, in list willekeurich sortearje, willekeurige seleksje krije en gegevens willekeurich tawize oan groepen. Allegear mei in nije dynamyske arrayfunksje - RANDARRAY.

Sa't jo wierskynlik witte, hat Microsoft Excel al in pear willekeurige funksjes - RAND en RANDBETWEEN. Wat is it sin yn it yntrodusearjen fan in oar? Yn in notedop, om't it folle machtiger is en beide âldere funksjes kin ferfange. Neist it ynstellen fan jo eigen maksimum- en minimumwearden, lit it jo opjaan hoefolle rigen en kolommen jo moatte ynfolje en oft willekeurige desimalen of heule getallen moatte produsearje. Tegearre mei oare funksjes kin RANDARRAY sels gegevens skodzje en in willekeurige stekproef kieze.

    Excel RANDARRAY-funksje

    De RANDARRAY-funksje yn Excel jout in array fan willekeurige getallen werom tusken elke twa nûmers dy't jo oantsjutte.

    It is ien fan de seis nije dynamyske arrayfunksjes dy't yn Microsoft Excel 365 yntrodusearre binne. It resultaat is in dynamyske array dy't automatysk yn it opjûne oantal rigen en kolommen spielt.

    De funksje hat de folgjende syntaksis. Tink derom dat alle arguminten opsjoneel binne:

    RANDARRAY([rijen], [kolommen], [min], [max], [hielnûmer])

    Wêr:

    Rijen (opsjoneel) - definiearret hoefolle rigen te foljen. As it weilitten is, stiet standert op 1 rige.

    Kolommen (opsjoneel) - bepaalt hoefolle kolommen te foljen. As fuortlitten, standert op 1willekeurich tawize dielnimmers oan groepen, de boppesteande formule kin net geskikt omdat it net kontrolearret hoefolle kearen in opjûne groep wurdt keazen. Bygelyks, 5 persoanen kinne wurde tawiisd oan groep A wylst mar 2 persoanen oan groep C. Om willekeurige opdracht gelyk te dwaan, sadat elke groep itselde oantal dielnimmers hat, hawwe jo in oare oplossing nedich.

    Earst generearje jo in list mei willekeurige nûmers troch dizze formule te brûken:

    =RANDARRAY(ROWS(A2:A13))

    Wêr't A2:A13 jo boarnegegevens binne.

    En dan jouwe jo groepen (of wat oars) ta mei dizze generyske formule:

    INDEX( wearden_te_oanwize, ROUNDUP(RANK( earste_willekeurich_getal, random_numbers_range)/ n, 0))

    Wêr't n de groepgrutte is, dus it oantal kearen dat elke wearde tawiisd wurde moat.

    Om bygelyks minsken willekeurich tawize oan de groepen neamd yn E2:E5, sadat elke groep 3 dielnimmers hat, brûk dizze formule:

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

    Let op dat it in gewoane formule is (net in dynamyske array-formule!), sadat jo de berikken moatte beskoattelje mei absolute referinsjes lykas yn 'e boppesteande formule.

    Fier jo formule yn yn 'e boppeste sel (C2 yn ús gefal) en de n sleep it del nei safolle sellen as nedich. It resultaat sil sa lykje:

    Tink derom dat de RANDARRAY-funksje flechtich is. Om foar te kommen dat jo nije willekeurige wearden generearje elke kear as jo wat feroarje yn it wurkblêd, ferfangeformules mei harren wearden troch de funksje Spesiaal plakke te brûken.

    Hoe wurket dizze formule:

    De RANDARRAY-formule yn 'e helpkolom is heul ienfâldich en hat amper taljochting nedich, dus lit ús rjochtsje op de formule yn kolom C.

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

    De funksje RANK rangearret de wearde yn B2 tsjin de array fan willekeurige getallen yn B2:B13. It resultaat is in getal tusken 1 en it totale oantal dielnimmers (12 yn ús gefal).

    De rang wurdt dield troch de groepsgrutte, (3 yn ús foarbyld), en de ROUNDUP-funksje rûn it omheech nei it tichtstbyste hiele getal. It resultaat fan dizze operaasje is in getal tusken 1 en it totale oantal groepen (4 yn dit foarbyld).

    It hiele getal giet nei it argumint row_num fan de INDEX-funksje, en twingt it om jout in wearde werom út de oerienkommende rige yn it berik E2:E5, dy't de tawiisde groep fertsjintwurdiget.

    Excel RANDARRAY-funksje wurket net

    As jo ​​RANDARRAY-formule in flater jout, binne dit de meast foar de hân lizzende redenen om te kontrolearjen:

    #SPILL-flater

    Lykas by elke oare dynamyske arrayfunksje, in #SPILL! flater betsjut meastentiids dat d'r net genôch romte is yn it bedoelde spillomrade om alle resultaten te werjaan. Wiskje gewoan alle sellen yn dit berik, en jo formule sil automatysk opnij berekkenje. Sjoch foar mear ynformaasje Excel #SPILL flater - oarsaken en reparaasjes.

    #VALUE flater

    A #VALUE! flater kin foarkomme yn dizzeomstannichheden:

    • As in max wearde minder is as in min wearde.
    • As ien fan 'e arguminten net-numerike is.

    #NAME-flater

    Yn de measte gefallen is in #NAME! flater jout ien fan de folgjende oan:

    • De namme fan de funksje is ferkeard stavere.
    • De funksje is net beskikber yn jo Excel-ferzje.

    #CALC! flater

    A #CALC! flater komt foar as it argumint rijen of kolommen minder is as 1 of ferwiist nei in lege sel.

    Dat is hoe't jo in willekeurige getallengenerator yn Excel bouwe mei de nije RANDARRAY funksje. Ik tankje jo foar it lêzen en hoopje jo nije wike op ús blog te sjen!

    Oefeningswurkboek om te downloaden

    RANDARRAY-formulefoarbylden (.xlsx-bestân)

    kolom.

    Min (opsjoneel) - it lytste willekeurige getal om te produsearjen. As net oantsjutte, wurdt de standert 0 wearde brûkt.

    Max (opsjoneel) - it grutste willekeurige getal om te meitsjen. As net oantsjutte, wurdt de standert 1 wearde brûkt.

    Whole_number (opsjoneel) - bepaalt hokker soarte wearden weromjûn wurde:

    • TRUE - hiele getallen
    • FALSE of weilitten (standert) - desimale getallen

    RANDARRAY-funksje - dingen om te ûnthâlden

    Om effisjint willekeurige nûmers yn jo Excel-wurkblêden te generearjen, binne d'r 6 wichtige punten om kennis te nimmen fan:

    • De RANDARRAY-funksje is allinnich beskikber yn Excel foar Microsoft 365 en Excel 2021. Yn Excel 2019, Excel 2016 en eardere ferzjes is de RANDARRAY-funksje net beskikber.
    • As de array weromjûn troch RANDARRAY it einresultaat is (útfier yn in sel en net trochjûn nei in oare funksje), makket Excel automatysk in dynamysk spillomrade en populearret it mei de willekeurige nûmers. Soargje der dus foar dat jo genôch lege sellen nei ûnderen en/of rjochts fan 'e sel hawwe wêr't jo de formule ynfiere, oars sil der in #SPILL-flater foarkomme.
    • As gjin fan 'e arguminten oanjûn is, sil in RANDARRAY( ) formule jout in inkeld desimale getal werom tusken 0 en 1.
    • As de arguminten rijen of/en kolommen wurde fertsjintwurdige troch desimale getallen, wurde se ôfkoarte ta de hiele heule getal foar it desimaal punt (bgl. 5.9 sil wurde behanneleas 5).
    • As it argumint min of max net definiearre is, stiet RANDARRAY standert op 0 en 1, respektivelik.
    • Lykas oare willekeurich funksjes, Excel RANDARRAY is flechtich , wat betsjut dat it elke kear as it wurkblêd wurdt berekkene in nije list mei willekeurige wearden genereart. Om foar te kommen dat dit bart, kinne jo formules ferfange troch wearden troch Excel's Spesjaal plakke > Wearden -funksje te brûken.

    Basis Excel RANDARRAY-formule

    En lit my jo no in willekeurige Excel-formule yn syn ienfâldichste foarm sjen litte.

    Stel dat jo in berik wolle folje dat bestiet út 5 rigen en 3 kolommen mei willekeurige nûmers. Om it dien te meitsjen, set de earste twa arguminten op dizze manier op:

    • Rijen is 5, om't wy de resultaten yn 5 rigen wolle.
    • Kolommen is 3, om't wy de resultaten yn 3 kolommen wolle.

    Alle oare arguminten litte wy nei harren standertwearden en krije de folgjende formule:

    =RANDARRAY(5, 3)

    Fier it yn yn 'e boppeste linker sel fan it bestimmingsberik (A2 yn ús gefal), druk op de Enter-kaai, en jo sille de resultaten hawwe oer it opjûne oantal rigen en kolommen.

    Sa't jo yn 'e skermôfbylding hjirboppe kinne sjen, foltôget dizze basis RANDARRAY-formule it berik mei willekeurige desimale sifers fan 0 oant 1. As jo ​​leaver hiele nûmers binnen in spesifyk berik krije, konfigurearje dan de lêste trije arguminten lykas oantoand yn fierdere foarbylden.

    How to randomize inExcel - RANDARRAY formulefoarbylden

    Hjirûnder fine jo in pear avansearre formules dy't typyske randomisearjende senario's yn Excel dekke.

    Generearje willekeurige nûmers tusken twa nûmers

    Om in list te meitsjen mei willekeurige nûmers binnen in spesifyk berik, leverje de minimale wearde yn it 3e argumint en it maksimum oantal yn it 4e argumint. Ofhinklik fan oft jo heule getallen of desimalen nedich binne, set it 5e argumint op respektivelik TRUE of FALSE.

    Litte wy as foarbyld in berik fan 6 rigen en 4 kolommen ynfolje mei willekeurige heule getallen fan 1 oant 100. Hjirfoar , sette wy de folgjende arguminten fan de RANDARRAY-funksje op:

    • Rijen is 6, om't wy de resultaten yn 6 rigen wolle.
    • Kolommen is 4 sa't wy de resultaten wolle yn 4 kolommen.
    • Min is 1, dat is de minimale wearde dy't wy hawwe wolle.
    • Max is 100, dat is de maksimale wearde dy't generearre wurde moat.
    • Hiel getal is TRUE, om't wy heule getallen nedich binne.

    De arguminten byinoar sette, krije wy dizze formule:

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

    En it produsearret it folgjende resultaat:

    Generearje willekeurige datum tusken twa datums

    Op syk nei in willekeurige datumgenerator yn Excel? De RANDARRAY-funksje is in maklike oplossing! Alles wat jo hoege te dwaan is de eardere datum (datum 1) en letter datum (datum 2) yn foarôf definieare sellen yn te fieren, en dan ferwize nei dy sellen yn jo formule:

    RANDARRAY(rijen, kolommen, datum1, date2, TRUE)

    Foar dit foarbyld hawwe wy in list makke fan willekeurige datums tusken de datums yn D1 en D2 mei dizze formule:

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

    Natuerlik hinderet neat jo de min- en maksimumdatums direkt yn 'e formule te leverjen as jo wolle. Wês der wis fan dat jo se ynfiere yn it formaat dat Excel kin begripe:

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

    Om flaters foar te kommen, kinne jo de DATE-funksje brûke foar it ynfieren fan datums:

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

    Opmerking. Yntern bewarret Excel datums as serialnûmers, sadat de formuleresultaten nei alle gedachten wurde werjûn as nûmers. Om de resultaten goed wer te jaan, tapasse jo it Datum -formaat op alle sellen yn it spillbereik.

    Generearje willekeurige wurkdagen yn Excel

    Om willekeurige wurkdagen te produsearjen, ynbêde de RANDARRAY-funksje yn it earste argumint fan WORKDAY sa yn:

    WORKDAY(RANDARRAY(rijen, kolommen, datum1 , date2 , TRUE), 1)

    RANDARRAY sil in array meitsje fan willekeurige startdatums, dêr't de WORKDAY-funksje 1 wurkdei oan tafoegje sil en derfoar soargje dat alle weromjûne datums wurkdagen binne.

    Mei datum 1 yn D1 en datum 2 yn D2, hjir is de formule om in list fan 10 wurkdagen te meitsjen:

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

    Lykas by it foarige foarbyld, tink derom om it spillbereik op te meitsjen as Datum om de resultaten goed wer te jaan.

    Hoe kinne jo willekeurige nûmers generearje sûnder duplikaten

    Hoewol moderne Excel 6 biedt nije dynamyske arrayfunksjes, spitigernôch is d'r noch gjin ynboude funksje om willekeurige getallen werom te jaan sûnder duplikaten.

    Om jo eigen unyke willekeurige getallengenerator yn Excel te bouwen, moatte jo ferskate funksjes oaninoar keatlingje lykas werjûn hjirûnder.

    Willekeurige hiele getallen :

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

    Willekeurige desimalen :

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

    Wêr:

    • N is hoefolle wearden jo wolle generearje.
    • Min is de leechste wearde.
    • Max is de heechste wearde.

    Bygelyks, om 10 willekeurige folsleine getallen te meitsjen sûnder duplikaten, brûk dizze formule:

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

    Om in list mei 10 unike willekeurige desimale getallen , wizigje TRUE nei FALSE yn it lêste argumint fan de RANDARRAY-funksje of gewoan dit argumint weilitte:

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

    Tips en notysjes:

    • De detaillearre útlis fan 'e formule kin wêze f ound in Hoe willekeurige getallen yn Excel te generearjen sûnder duplikaten.
    • Yn Excel 2019 en earder is de RANDARRAY-funksje net beskikber. Kontrolearje ynstee fan dizze oplossing.

    Hoe willekeurich sortearje yn Excel

    Om gegevens yn Excel te skodzjen, brûk RANDARRAY foar de "sortearje op" array ( by_array argumint) fan de SORTBY-funksje. De ROWS-funksje sil it oantal rigen yn jo tellegegevensset, dy't oanjout hoefolle willekeurige sifers te generearjen:

    SORTBY( gegevens , RANDARRAY(ROWS( gegevens )))

    Mei dizze oanpak kinne jo sortearje willekeurich in list yn Excel, of it no nûmers, datums of tekstyngongen befettet:

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

    Jo kinne ek shuffle rigen sûnder jo gegevens te mingjen:

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

    Hoe kinne jo in willekeurige seleksje krije yn Excel

    Om in willekeurich út te pakken Sample út in list, hjir is in generyske formule om te brûken:

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

    Wêr't n it oantal willekeurige yngongen is dat jo ekstrahearje wolle.

    Om bygelyks 3 nammen willekeurich te selektearjen út de list yn A2:A10, brûk dizze formule :

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

    Of ynfiere de winske stekproefgrutte yn in sel, sis C2, en ferwize nei dy sel:

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

    Hoe't dizze formule wurket:

    De kearn fan dizze formule is de RANDARRAY-funksje dy't in willekeurige array fan heule getallen makket, wêrby't de wearde yn C2 definiearret hoefolle wearden te generearjen . It minimale oantal is hurdkodearre (1) en it maksimum oantal komt oerien mei it oantal rigen yn jo gegevensset, dat wurdt weromjûn troch de ROWS-funksje.

    De array fan willekeurige heule getallen giet direkt nei it row_num argumint fan de INDEX-funksje, spesifisearje de posysjes fan de items dy't weromkomme. Foar it foarbyld yn 'e skermprint hjirboppe is it:

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

    Tip. By it kiezen fan in grutte stekproef útin lytse dataset, kânsen binne dat jo willekeurige seleksje sil befetsje mear as ien foarkommen fan deselde yngong, omdat der gjin garânsje dat RANDARRAY sil produsearje allinnich unike nûmers. Om foar te kommen dat dit bart, brûk in duplikaatfrije ferzje fan dizze formule.

    Hoe kinne jo willekeurige rigen selektearje yn Excel

    As jo ​​gegevensset mear as ien kolom befettet, spesifisearje dan hokker kolommen jo moatte opnimme yn 'e stekproef. Foar dit, leverje in arraykonstante foar it lêste argumint ( column_num ) fan 'e INDEX-funksje, lykas dit:

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

    Wêr't A2:B10 de boarnegegevens is en D2 is de stekproefgrutte.

    As resultaat sil ús willekeurige seleksje twa kolommen mei gegevens befetsje:

    Tip. Lykas it gefal is mei it foarige foarbyld, kin dizze formule dûbele records werombringe. Om te soargjen dat jo stekproef gjin werhellingen hat, brûk dan in wat oare oanpak beskreaun yn Hoe kinne jo willekeurige rigen selektearje sûnder duplikaten.

    Hoe kinne jo nûmers en tekst willekeurich tawize yn Excel

    Om willekeurige opdracht te dwaan yn Excel, brûk RANDBETWEEN tegearre mei de KIES-funksje op dizze manier:

    CHOOSE(RANDARRAY(ROWS( data ), 1, 1, n , TRUE), wearde1 , wearde2 ,...)

    Wêr:

    • Data is in berik fan jo boarnegegevens dêr't jo willekeurige wearden oan tawize wolle.
    • N is it totale oantal wearden om ta te jaan.
    • Wearde1 , wearde2 , wearde3 , ensfh. binne de wearden dy't moatte wurdewillekeurich tawiisd.

    Om bygelyks nûmers fan 1 oant 3 ta te jaan oan dielnimmers yn A2:A13, brûk dizze formule:

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

    Foar it gemak kinne jo de wearden ynfiere dy't jo moatte tawize yn aparte sellen, sizze fan D2 oant D4, en ferwize nei dy sellen yn jo formule (yndividueel, net as berik):

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

    As resultaat kinne jo willekeurige sifers, letters, tekst, datums en tiden mei deselde formule tawize:

    Opmerking. De RANDARRAY-funksje sil by elke feroaring yn it wurkblêd nije willekeurige wearden generearje, om't it resultaat elke kear nije wearden wurde tawiisd. Foar in "fix" de tawiisd wearden, brûk de Paste Special & GT; Wearden funksjes om formules te ferfangen mei har berekkene wearden.

    Hoe't dizze formule wurket

    Yn it hert fan dizze oplossing is wer de RANDARRAY-funksje dy't in array fan willekeurige heule getallen produseart basearre op de min en max nûmers dy't jo oantsjutte (fan 1 oant 3 yn ús gefal). De ROWS-funksje fertelt RANDARRAY hoefolle willekeurige sifers moatte generearje. Dizze array giet nei it argumint index_num fan de CHOOSE-funksje. Bygelyks:

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

    Index_num is it argumint dat de posysjes bepaalt fan de wearden dy't weromkomme. En om't de posysjes willekeurich binne, wurde de wearden yn D2: D4 yn willekeurige folchoarder keazen. Ja, it is sa ienfâldich :)

    Hoe kinne jo willekeurige gegevens tawize oan groepen

    As jo ​​​​taak is om

    Michael Brown is in tawijd technology-entûsjast mei in passy foar it ferienfâldigjen fan komplekse prosessen mei software-ark. Mei mear as in desennium ûnderfining yn 'e tech-yndustry hat hy syn feardigens yn Microsoft Excel en Outlook, lykas Google Blêden en Docs, oanskerpe. Michael's blog is wijd oan it dielen fan syn kennis en ekspertize mei oaren, en biedt maklik te folgjen tips en tutorials foar it ferbetterjen fan produktiviteit en effisjinsje. Oft jo in betûfte profesjonele of in begjinner binne, Michael's blog biedt weardefolle ynsjoch en praktysk advys om it measte út dizze essensjele software-ark te heljen.