Satura rādītājs
Šajā pamācībā ir parādīts, kā ģenerēt nejaušus skaitļus, nejauši sakārtot sarakstu, iegūt nejaušu atlasi un nejauši sadalīt datus grupās. Tas viss ar jauno dinamisko masīva funkciju RANDARRAY.
Kā jūs droši vien zināt, Microsoft Excel jau ir pāris nejaušības funkciju - RAND un RANDBETWEEN. Kāda ir jēga ieviest vēl vienu? Īsumā tāpēc, ka tā ir daudz jaudīgāka un var aizstāt abas vecākās funkcijas. Papildus maksimālo un minimālo vērtību iestatīšanai tā ļauj jums norādīt, cik rindas un kolonnas aizpildīt un vai ražot nejaušus decimālskaitļus vaiLietojot kopā ar citām funkcijām, RANDARRAY var pat samaisīt datus un atlasīt nejaušu paraugu.
Excel funkcija RANDARRAY
RANDARRAY funkcija programmā Excel atgriež masīvu ar nejaušiem skaitļiem starp jebkuriem diviem norādītajiem skaitļiem.
Tā ir viena no sešām jaunajām dinamisko masīvu funkcijām, kas ieviestas programmā Microsoft Excel 365. Rezultāts ir dinamisks masīvs, kas automātiski izplūst norādītajā rindu un kolonnu skaitā.
Funkcijai ir šāda sintakse. Lūdzu, ņemiet vērā, ka visi argumenti nav obligāti:
RANDARRAY([rindas], [kolonnas], [min], [max], [vesels_skaitlis])Kur:
Rindas (nav obligāts) - nosaka, cik rindas aizpildīt. Ja nav norādīts, noklusējuma vērtība ir 1 rinda.
Kolonnas (nav obligāts) - nosaka, cik kolonnas aizpildīt. Ja nav norādīts, noklusējuma vērtība ir 1 kolonna.
Min (nav obligāts) - mazākais nejaušais skaitlis, kas jāizveido. Ja nav norādīts, tiek izmantota noklusējuma vērtība 0.
Max (nav obligāts) - lielākais nejaušais skaitlis, ko izveidot. Ja nav norādīts, tiek izmantota noklusējuma vērtība 1.
Whole_number (nav obligāts) - nosaka, kāda veida vērtības tiks atgrieztas:
- TRUE - veseli skaitļi
- FALSE vai izlaists (noklusējums) - decimālskaitļi
RANDARRAY funkcija - kas jāatceras
Lai efektīvi ģenerētu nejaušus skaitļus Excel darblapās, jāņem vērā 6 svarīgi punkti:
- RANDARRAY funkcija ir pieejama tikai programmā Excel Microsoft 365 un Excel 2021. Excel 2019, Excel 2016 un iepriekšējās versijās RANDARRAY funkcija nav pieejama.
- Ja RANDARRAY atdotais masīvs ir galīgais rezultāts (izvadīts šūnā un nav nodots citai funkcijai), Excel automātiski izveido dinamisko izlejamo diapazonu un aizpilda to ar nejaušajiem skaitļiem. Tāpēc pārliecinieties, ka ir pietiekami daudz tukšu šūnu lejpus un/vai pa labi no šūnas, kurā ievadāt formulu, pretējā gadījumā radīsies #SPILL kļūda.
- Ja nav norādīts neviens no argumentiem, RANDARRAY() formula atgriež vienu decimālskaitli no 0 līdz 1.
- Ja rindas vai/un kolonnas argumenti tiek attēloti ar decimālskaitļiem, tie tiks saīsināti līdz veselam skaitlim pirms decimālpunkta (piemēram, 5,9 tiks uzskatīti par 5).
- Ja min vai max arguments nav definēts, RANDARRAY noklusējuma vērtība ir attiecīgi 0 un 1.
- Tāpat kā citas izlases funkcijas, Excel RANDARRAY ir gaistošs , kas nozīmē, ka tā ģenerē jaunu nejaušo vērtību sarakstu katru reizi, kad tiek aprēķināta darblapa. Lai to novērstu, formulas var aizstāt ar vērtībām, izmantojot Excel programmu Īpašais ielīmēšanas veids > Vērtības funkcija.
Pamata Excel RANDARRAY formula
Un tagad es jums parādīšu izlases Excel formulu tās vienkāršākajā formā.
Pieņemsim, ka vēlaties aizpildīt diapazonu, kas sastāv no 5 rindām un 3 kolonnām, ar jebkuriem nejaušiem skaitļiem. Lai to izdarītu, iestatiet pirmos divus argumentus šādi:
- Rindas ir 5, jo vēlamies iegūt rezultātus 5 rindās.
- Kolonnas ir 3, jo vēlamies iegūt rezultātus 3 slejās.
Visus pārējos argumentus atstājam noklusējuma vērtībās un iegūstam šādu formulu:
=RANDARRAY(5, 3)
Ievadiet to mērķa diapazona (mūsu gadījumā A2) augšējā kreisajā šūnā, nospiediet taustiņu Enter, un rezultāti tiks sadalīti pa norādīto rindu un kolonnu skaitu.
Kā redzams attēlā, šī RANDARRAY pamatformula aizpilda diapazonu ar nejaušiem decimālskaitļiem no 0 līdz 1. Ja vēlaties saņemt veselus skaitļus konkrētā diapazonā, konfigurējiet pēdējos trīs argumentus, kā parādīts turpmākajos piemēros.
Kā izlases kārtībā atlasīt programmā Excel - RANDARRAY formulas piemēri
Zemāk ir atrodamas dažas uzlabotas formulas, kas attiecas uz tipiskiem izlases scenārijiem programmā Excel.
Izlases skaitļu ģenerēšana starp diviem skaitļiem
Lai izveidotu nejaušo skaitļu sarakstu noteiktā diapazonā, 3. argumentā norādiet minimālo vērtību, bet 4. argumentā - maksimālo skaitli. Atkarībā no tā, vai jums ir nepieciešami veseli vai decimālskaitļi, 5. argumentam attiecīgi iestatiet TRUE vai FALSE.
Piemēram, aizpildīsim 6 rindu un 4 kolonnu diapazonu ar nejaušiem veseliem skaitļiem no 1 līdz 100. Šim nolūkam mēs iestatām šādus RANDARRAY funkcijas argumentus:
- Rindas ir 6, jo vēlamies iegūt rezultātus 6 rindās.
- Kolonnas ir 4, jo vēlamies iegūt rezultātus 4 slejās.
- Min ir 1, kas ir minimālā vērtība, kuru vēlamies iegūt.
- Max ir 100, kas ir maksimālā ģenerējamā vērtība.
- Whole_number ir TRUE, jo mums ir nepieciešami veseli skaitļi.
Saliekot argumentus kopā, iegūstam šādu formulu:
=RANDARRAY(6, 4, 1, 1, 100, TRUE)
Un tas dod šādu rezultātu:
Izlases datuma ģenerēšana starp diviem datumiem
Vai meklējat nejaušu datumu ģeneratoru programmā Excel? Funkcija RANDARRAY ir vienkāršs risinājums! Viss, kas jums jādara, ir ievadīt agrāko datumu (datums 1) un vēlāko datumu (datums 2) iepriekš definētās šūnās un pēc tam atsaukties uz šīm šūnām savā formulā:
RANDARRAY(rindas, kolonnas, datums1 , datums2 , TRUE)Šajā piemērā mēs esam izveidojuši sarakstu ar nejauši izvēlētiem datumiem starp D1 un D2 datumiem, izmantojot šo formulu:
=RANDARRAY(10, 1, D1, D2, TRUE)
Protams, nekas neliedz jums ievadīt min un maks datumus tieši formulā, ja vēlaties. Tikai pārliecinieties, ka ievadāt tos Excel saprotamā formātā:
=RANDARRAY(10, 1, "1/1/2020", "12/31/2020", TRUE)
Lai izvairītos no kļūdām, datumu ievadīšanai varat izmantot funkciju DATUMS:
=RANDARRAY(10, 1, DATE(2020,1,1), DATE(2020,12,31), TRUE)
Piezīme. Iekšēji Excel saglabā datumus kā kārtas numurus, tāpēc formulas rezultāti, visticamāk, tiks parādīti kā skaitļi. Lai rezultāti tiktu parādīti pareizi, piemēro Datums formātu visām šūnām izplūdes diapazonā.
Izlases darba dienu ģenerēšana programmā Excel
Lai izveidotu nejaušas darba dienas, pirmajā argumentā WORKDAY iestrādājiet funkciju RANDARRAY šādi:
DARBA DIENA(RANDARRAY(rindas, kolonnas, datums1 , datums2 , TRUE), 1)RANDARRAY izveidos nejaušo sākuma datumu masīvu, kuram funkcija WORKDAY pievienos 1 darba dienu un nodrošinās, ka visi atgrieztie datumi ir darba dienas.
Izmantojot datumu 1 pozīcijā D1 un datumu 2 pozīcijā D2, šeit ir formula, lai izveidotu sarakstu ar 10 nedēļas dienām:
=DARBA DIENA(RANDARRAY(10, 1, D1, D2, TRUE), 1)
Tāpat kā iepriekšējā piemērā, neaizmirstiet formatēt noplūdes diapazonu kā Datums lai rezultāti tiktu parādīti pareizi.
Kā ģenerēt nejaušus skaitļus bez dublikātiem
Lai gan mūsdienu Excel piedāvā 6 jaunas dinamisko masīvu funkcijas, diemžēl joprojām nav iebūvētas funkcijas, kas atgrieztu nejaušus skaitļus bez dublēšanās.
Lai izveidotu savu unikāls nejaušo skaitļu ģenerators programmā Excel, jums būs jāsavieno vairākas funkcijas, kā parādīts turpmāk.
Nejauši veseli skaitļi :
INDEKSS(UNIQUE(RANDARRAY( n *2, 1, min , max , TRUE)), SECĪBA( n ))Gadījuma decimāldaļas :
INDEKSS(UNIQUE(RANDARRAY( n *2, 1, min , max , FALSE)), SECĪBA( n ))Kur:
- N ir, cik daudz vērtību vēlaties ģenerēt.
- Min ir mazākā vērtība.
- Max ir lielākā vērtība.
Piemēram, lai iegūtu 10 nejaušus veselus skaitļus bez dublikātiem, izmantojiet šo formulu:
=INDEX(UNIQUE(RANDARRAY(20, 1, 1, 1, 100, TRUE)), SEQUENCE(10))
Lai izveidotu sarakstu ar 10 unikāliem nejauši decimālskaitļi , nomainiet TRUE uz FALSE funkcijas RANDARRAY pēdējā argumentā vai vienkārši izlaidiet šo argumentu:
=INDEX(UNIQUE(RANDARRAY(20, 1, 1, 1, 100, FALSE)), SEQUENCE(10))
Padomi un piezīmes:
- Sīkāku formulas skaidrojumu var atrast sadaļā Kā ģenerēt nejaušus skaitļus programmā Excel bez dublēšanās.
- Programmā Excel 2019 un agrākajos versijās funkcija RANDARRAY nav pieejama. Tā vietā skatiet šo risinājumu.
Kā izlases veidā šķirot programmā Excel
Lai programmā Excel samaisītu datus, masīvam "sakārtot pēc" izmantojiet RANDARRAY ( by_array ROWS funkcija saskaitīs rindiņu skaitu jūsu datu kopā, norādot, cik daudz nejaušo skaitļu jāģenerē:
SORTBY( dati , RANDARRAY(RINDAS( dati )))Izmantojot šo pieeju, varat izlases veidā sakārtot sarakstu programmā Excel, neatkarīgi no tā, vai tajā ir skaitļi, datumi vai teksta ieraksti:
=SORTBY(A2:A13, RANDARRAY(ROWS(A2:A13)))
Turklāt varat arī sajaukt rindas nesajaucot datus:
=SORTBY(A2:B10, RANDARRAY(ROWS(A2:B10)))
Kā iegūt izlases atlasi programmā Excel
Lai no saraksta atlasītu nejaušu izlasi, šeit ir dota vispārīga formula, ko izmantot:
INDEX( dati , RANDARRAY( n , 1, 1, ROWS( dati ), TRUE))Kur n ir izlases ierakstu skaits, ko vēlaties iegūt.
Piemēram, lai no saraksta A2:A10 izlases veidā atlasītu 3 vārdus, izmantojiet šo formulu:
=INDEX(A2:A10, RANDARRAY(3, 1, 1, 1, ROWS(A2:A10), TRUE))
Vai arī ievadiet vēlamo izlases lielumu kādā šūnā, piemēram, C2, un norādiet šo šūnu:
=INDEX(A2:A10, RANDARRAY(C2, 1, 1, 1, ROWS(A2:A10), TRUE))
Kā šī formula darbojas:
Šīs formulas pamatā ir funkcija RANDARRAY, kas izveido veselu skaitļu masīvu, kura vērtība C2 nosaka, cik daudz vērtību jāģenerē. Minimālais skaitlis ir kodēts (1), bet maksimālais skaitlis atbilst rindiņu skaitam datu kopā, ko atgriež funkcija ROWS.
Nejaušo veselo skaitļu masīvs tiek tieši nosūtīts uz rindu_num INDEX funkcijas argumentu, norādot atgriežamo elementu pozīcijas. Iepriekš attēlā redzamajā paraugā tas ir:
=INDEX(A2:A10, {8;7;4})
Padoms: ja no neliela datu kopuma izvēlaties lielu izlasi, pastāv iespēja, ka nejaušā izlasē būs vairāk nekā viens viena un tā paša ieraksta atkārtojums, jo nav garantijas, ka RANDARRAY radīs tikai unikālus skaitļus. Lai to novērstu, izmantojiet šīs formulas versiju, kurā nav dublēšanās.
Kā programmā Excel atlasīt izlases rindas
Ja jūsu datu kopa satur vairāk nekā vienu kolonnu, norādiet, kuras kolonnas iekļaut paraugā. Šim nolūkam kā pēdējo argumentu norādiet masīva konstanti ( column_num ) funkcijas INDEX, piemēram, šādi:
=INDEX(A2:B10, RANDARRAY(D2, 1, 1, 1, ROWS(A2:A10), TRUE), {1,2})
kur A2:B10 ir avota dati un D2 ir izlases lielums.
Rezultātā mūsu nejaušā atlase ietvers divas datu kolonnas:
Padoms. Tāpat kā iepriekšējā piemērā, arī šajā formulā var parādīties ierakstu dublikāti. Lai pārliecinātos, ka jūsu izlasē nav atkārtojumu, izmantojiet nedaudz atšķirīgu pieeju, kas aprakstīta sadaļā Kā atlasīt izlases rindas bez dublikātiem.
Kā programmā Excel izlases veidā piešķirt skaitļus un tekstu
Lai Excel programmā veiktu nejaušu piešķiršanu, izmantojiet RANDBETWEEN kopā ar funkciju CHOOSE šādā veidā:
IZVĒLĒTIES(RANDARRAY(RINDAS( dati ), 1, 1, n , TRUE), vērtība1 , vērtība2 ,...)Kur:
- Dati ir avota datu diapazons, kuram vēlaties piešķirt izlases vērtības.
- N ir kopējais piešķiramo vērtību skaits.
- Vērtība1 , vērtība2 , vērtība3 utt. ir vērtības, kas piešķiramas pēc nejaušības principa.
Piemēram, lai A2:A13 grupas dalībniekiem piešķirtu numurus no 1 līdz 3, izmantojiet šo formulu:
=CHOOSE(RANDARRAY(ROWS(A2:A13), 1, 1, 1, 3, TRUE), 1, 2, 3)
Ērtības labad varat ievadīt piešķiramās vērtības atsevišķās šūnās, piemēram, no D2 līdz D4, un atsaukties uz šīm šūnām savā formulā (atsevišķi, nevis kā diapazonu):
=CHOOSE(RANDARRAY(ROWS(A2:A13), 1, 1, 1, 3, TRUE), D2, D3, D4)
Rezultātā varēsiet pēc nejaušības principa piešķirt jebkurus skaitļus, burtus, tekstu, datumus un laikus, izmantojot to pašu formulu:
Piezīme. RANDARRAY funkcija turpinās ģenerēt jaunas nejaušas vērtības ar katru izmaiņu darblapā, kā rezultātā katru reizi tiks piešķirtas jaunas vērtības. Lai "salabotu" piešķirtās vērtības, izmantojiet Paste Special> Values funkcijas, lai aizstātu formulas ar to aprēķinātajām vērtībām.
Kā darbojas šī formula
Šī risinājuma pamatā atkal ir funkcija RANDARRAY, kas izveido nejaušo veselo skaitļu masīvu, pamatojoties uz jūsu norādītajiem minimālajiem un maksimālajiem skaitļiem (mūsu gadījumā no 1 līdz 3). ROWS funkcija norāda RANDARRAY, cik daudz nejaušo skaitļu jāģenerē. Šis masīvs nonāk failā index_num funkcijas CHOOSE arguments. Piemēram:
=IZVĒLĒTIES({1;2;1;2;3;2;3;3;1;3;1;3;1;2}, D2, D3, D4)
Index_num ir arguments, kas nosaka atgriežamo vērtību pozīcijas. Un, tā kā pozīcijas ir nejaušas, vērtības D2:D4 tiek atlasītas nejaušā secībā. Jā, tas ir tik vienkārši :)
Kā pēc nejaušības principa sadalīt datus grupās
Ja jūsu uzdevums ir nejauši sadalīt dalībniekus grupās, iepriekš minētā formula var nebūt piemērota, jo tā nekontrolē, cik reizes tiek izvēlēta konkrētā grupa. Piemēram, 5 personas var tikt iedalītas A grupā, bet tikai 2 personas - C grupā. Lai veiktu nejaušu iedalījumu vienmērīgi lai katrā grupā būtu vienāds dalībnieku skaits, ir nepieciešams cits risinājums.
Vispirms, izmantojot šo formulu, tiek ģenerēts nejaušo skaitļu saraksts:
=RANDARRAY(RINDAS(A2:A13))
kur A2:A13 ir jūsu avota dati.
Pēc tam piešķiriet grupas (vai jebko citu), izmantojot šo vispārīgo formulu:
INDEX( values_to_assign , APAĻOT(RANGS( first_random_number , random_numbers_range )/ n , 0))Kur n ir grupas lielums, t. i., cik reižu jāpiešķir katra vērtība.
Piemēram, lai pēc nejaušības principa sadalītu cilvēkus E2:E5 uzskaitītajās grupās tā, lai katrā grupā būtu 3 dalībnieki, izmantojiet šo formulu:
=INDEX($E$2:$E$5, ROUNDUP(RANK(B2,$B$2:$B$13)/3,0)).
Lūdzu, ņemiet vērā, ka tā ir parasta formula (nevis dinamiskā masīva formula!), tāpēc jums ir nepieciešams bloķēt diapazonus ar absolūtajām atsaucēm, kā tas ir iepriekš minētajā formulā.
Ievadiet formulu augšējā šūnā (mūsu gadījumā C2) un pēc tam velciet to uz leju uz tik daudzām šūnām, cik nepieciešams. Rezultāts izskatīsies līdzīgs šim:
Lūdzu, atcerieties, ka funkcija RANDARRAY ir nepastāvīga. Lai novērstu jaunu nejaušo vērtību ģenerēšanu katru reizi, kad kaut ko maināt darblapā, aizstāt formulas ar to vērtībām, izmantojot funkciju Īpašais ielīmēšanas veids funkcija.
Kā šī formula darbojas:
RANDARRAY formula palīgstilpē ir ļoti vienkārša un gandrīz neprasa skaidrojumu, tāpēc pievērsīsimies C slejā esošajai formulai.
=INDEX($E$2:$E$5, ROUNDUP(RANK(B2,$B$2:$B$13)/3,0)).
RANK funkcija sarindo B2 vērtību pret B2:B13 nejaušo skaitļu masīvu. Rezultāts ir skaitlis starp 1 un kopējo dalībnieku skaitu (mūsu gadījumā 12).
Rangs tiek dalīts ar grupas lielumu (mūsu piemērā - 3), un funkcija ROUNDUP to noapaļo līdz tuvākajam veselajam skaitlim. Šīs darbības rezultāts ir skaitlis starp 1 un kopējo grupu skaitu (šajā piemērā - 4).
Vesels skaitlis nonāk rindu_num argumentu, liekot tai atgriezt vērtību no atbilstošās rindas diapazonā E2:E5, kas apzīmē piešķirto grupu.
Excel RANDARRAY funkcija nedarbojas
Ja RANDARRAY formula atgriež kļūdu, šie ir visredzamākie iemesli, kas jāpārbauda:
#SPILL kļūda
Tāpat kā jebkura cita dinamiskā masīva funkcija, #SPILL! kļūda visbiežāk nozīmē, ka paredzētajā izkliedes diapazonā nav pietiekami daudz vietas, lai parādītu visus rezultātus. Vienkārši notīriet visas šā diapazona šūnas, un jūsu formula tiks automātiski pārrēķināta. Lai iegūtu vairāk informācijas, skatiet Excel #SPILL kļūda - cēloņi un novēršanas iespējas.
#VALUE kļūda
Šādos apstākļos var rasties kļūda #VALUE!:
- Ja max vērtība ir mazāka par min vērtība.
- Ja kāds no argumentiem nav skaitlis.
#NAME kļūda
Vairumā gadījumu kļūda #NAME! norāda uz kādu no šādām kļūdām:
- Funkcijas nosaukums ir nepareizi uzrakstīts.
- Šī funkcija nav pieejama jūsu Excel versijā.
#CALC! kļūda
Kļūda #CALC! rodas, ja rindas vai kolonnas arguments ir mazāks par 1 vai attiecas uz tukšu šūnu.
Tas ir veids, kā Excel programmā izveidot nejaušo skaitļu ģeneratoru, izmantojot jauno funkciju RANDARRAY. Paldies, ka izlasījāt, un ceru, ka nākamnedēļ tiksimies mūsu blogā!
Prakses darba burtnīca lejupielādei
RANDARRAY formulas piemēri (.xlsx fails)