Функција Excel RANDARRAY - брз начин за генерирање случајни броеви

  • Споделете Го Ова
Michael Brown

Упатството покажува како да генерирате случајни броеви, по случаен избор да подредувате список, да добивате случаен избор и случајно да доделувате податоци на групи. Сите со нова функција на динамична низа - RANDARRAY.

Како што веројатно знаете, Microsoft Excel веќе има неколку функции за рандомизирање - RAND и RANDBETWEEN. Која е смислата да се воведе уште еден? Накратко, бидејќи е далеку помоќен и може да ги замени двете постари функции. Освен поставувањето на сопствените максимални и минимални вредности, ви овозможува да одредите колку редови и колони да пополните и дали да произведувате случајни децимали или цели броеви. Кога се користи заедно со други функции, RANDARRAY може дури и да измеша податоци и да избере случаен примерок.

    Excel RANDARRAY функција

    Функцијата RANDARRAY во Excel враќа низа од случајни броеви помеѓу кои било два броја што ќе ги наведете.

    Таа е една од шесте нови функции на динамична низа воведени во Microsoft Excel 365. Резултатот е динамична низа што автоматски се прелева во наведениот број на редови и колони.

    Функцијата ја има следнава синтакса. Забележете дека сите аргументи се опционални:

    RANDARRAY([редови], [колони], [мин], [макс], [цели_број])

    Каде:

    Редови (опционално) - дефинира колку редови да се пополнат. Ако се испушти, стандардно е 1 ред.

    Колони (опционално) - дефинира колку колони да се пополнат. Ако е испуштено, стандардно е 1по случаен избор назначете ги учесниците во групи, горната формула можеби не е соодветна бидејќи не контролира колку пати е избрана дадена група. На пример, 5 лица би можеле да бидат доделени во групата А додека само 2 лица во групата В. За да извршите случаен распоред рамномерно , така што секоја група има ист број учесници, потребно е различно решение.

    Прво, генерирате листа на случајни броеви користејќи ја оваа формула:

    =RANDARRAY(ROWS(A2:A13))

    Каде A2:A13 се вашите изворни податоци.

    И потоа, доделувате групи (или што било друго) користејќи ја оваа генеричка формула:

    INDEX( вредности_за_доделување, ROUNDUP(RANK( прв_случаен_број, опсег на_случајни_броеви)/ n, 0))

    Каде што n е големината на групата, т.е. колку пати треба да се додели секоја вредност.

    На пример, за по случаен избор да назначите луѓе во групите наведени во E2:E5, така што секоја група има 3 учесници, користете ја оваа формула:

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

    Ве молиме забележете дека тоа е редовна формула (не формула за динамична низа!), така што треба да ги заклучите опсезите со апсолутни референци како во горната формула.

    Внесете ја вашата формула во горната ќелија (C2 во нашиот случај) и n повлечете го надолу во онолку ќелии колку што е потребно. Резултатот ќе изгледа слично на ова:

    Ве молиме запомнете дека функцијата RANDARRAY е испарлива. За да спречите генерирање на нови случајни вредности секогаш кога менувате нешто во работниот лист, заменетеформули со нивните вредности со користење на карактеристиката Залепете специјално .

    Како функционира оваа формула:

    Формулата RANDARRAY во помошната колона е многу едноставна и едвај бара објаснување, па да се фокусираме на формулата во колоната C.

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

    Функцијата RANK ја рангира вредноста во B2 наспроти низата случајни броеви во B2:B13. Резултатот е број помеѓу 1 и вкупниот број на учесници (12 во нашиот случај).

    Рангирањето е поделено со големината на групата, (3 во нашиот пример), а функцијата ROUNDUP го заокружува на најблискиот цел број. Резултатот од оваа операција е број помеѓу 1 и вкупниот број на групи (4 во овој пример).

    Целиот број оди до аргументот row_num на функцијата INDEX, принудувајќи го да вратете вредност од соодветниот ред во опсегот E2:E5, што ја претставува доделената група.

    Функцијата Excel RANDARRAY не работи

    Кога вашата формула RANDARRAY враќа грешка, ова се најочигледните причини за проверка:

    #SPILL error

    Како и со секоја друга функција на динамичка низа, #SPILL! грешката најчесто значи дека нема доволно простор во предвидениот опсег на излевање за да се прикажат сите резултати. Само исчистете ги сите ќелии во овој опсег и вашата формула автоматски ќе се пресмета повторно. За повеќе информации, погледнете во Excel #SPILL грешка - причини и поправки.

    #VALUE грешка

    A #VALUE! може да се појави грешка во овиеоколности:

    • Ако вредноста max е помала од вредноста min .
    • Ако некој од аргументите е ненумерички.

    Грешка #NAME

    Во повеќето случаи, #NAME! грешката означува едно од следниве:

    • Името на функцијата е погрешно напишано.
    • Функцијата не е достапна во вашата верзија на Excel.

    #CALC! грешка

    A #CALC! се појавува грешка ако аргументот редови или колони е помал од 1 или се однесува на празна ќелија.

    Така да се изгради генератор на случаен број во Excel со новиот Функција RANDARRAY. Ви благодарам што прочитавте и се надевам дека ќе се видиме на нашиот блог следната недела!

    Вежбајте работна книга за преземање

    Примери на формула RANDARRAY (датотека .xlsx)

    колона.

    Min (опционално) - најмалиот случаен број што треба да се произведе. Ако не е наведено, се користи стандардната вредност 0.

    Max (опционално) - најголемиот случаен број што треба да се создаде. Ако не е наведено, се користи стандардната вредност 1.

    Цел_број (опционално) - одредува какви вредности да се вратат:

    • TRUE - цели броеви
    • FALSE или испуштени (стандардно) - децимални броеви

    RANDARRAY функција - работи што треба да се запаметат

    За ефикасно генерирање случајни броеви во вашите работни листови во Excel, има 6 важни точки да се забележи:

    • Функцијата RANDARRAY е достапна само во Excel за Microsoft 365 и Excel 2021. Во Excel 2019, Excel 2016 и претходните верзии функцијата RANDARRAY не е достапна.
    • Ако низата вратена од RANDARRAY е конечниот резултат (излезен во ќелија и не е предаден на друга функција), Excel автоматски создава динамичен опсег на истурање и го наполнува со случајни броеви. Значи, бидете сигурни дека имате доволно празни ќелии долу и/или десно од ќелијата каде што ја внесувате формулата, инаку ќе се појави грешка #SPILL.
    • Ако ниту еден од аргументите не е наведен, RANDARRAY( ) формулата враќа единечен децимален број помеѓу 0 и 1.
    • Ако аргументите редовите или/и колоните се претставени со децимални броеви, тие ќе бидат скратени на ќе се третира цел цел број пред децималната точка (на пр. 5.9како 5).
    • Ако аргументот min или max не е дефиниран, RANDARRAY стандардно поставува 0 и 1, соодветно.
    • Како и други случајни функции, Excel RANDARRAY е испарлив , што значи дека генерира нова листа на случајни вредности секогаш кога се пресметува работниот лист. За да спречите тоа да се случи, можете да ги замените формулите со вредности со користење на функцијата Залепете специјално > Вредности на Excel.

    Основна формула на Excel RANDARRAY

    И сега, дозволете ми да ви покажам случајна формула на Excel во нејзината наједноставна форма.

    Да претпоставиме дека сакате да пополните опсег кој се состои од 5 редови и 3 колони со кои било случајни броеви. За да го направите тоа, поставете ги првите два аргументи на овој начин:

    • Редови е 5 бидејќи ги сакаме резултатите во 5 редови.
    • Колоните е 3 бидејќи ги сакаме резултатите во 3 колони.

    Сите други аргументи ги оставаме на нивните стандардни вредности и ја добиваме следната формула:

    =RANDARRAY(5, 3)

    Внесете го во горната лева ќелија од опсегот на одредиштето (во нашиот случај A2), притиснете го копчето Enter и резултатите ќе се прелеат преку наведениот број редови и колони.

    Како што можете да видите на сликата од екранот погоре, оваа основна формула RANDARRAY го пополнува опсегот со случајни децимални броеви од 0 до 1. Ако сакате да добиете цели броеви во одреден опсег, тогаш конфигурирајте го последниот три аргументи како што е прикажано во понатамошните примери.

    Како да се рандомизираат воExcel - примери на формула RANDARRAY

    Подолу ќе најдете неколку напредни формули кои покриваат типични сценарија за рандомизирање во Excel.

    Генерирајте случајни броеви помеѓу два броја

    За да креирате листа на случајни броеви во одреден опсег, ја обезбедуваат минималната вредност во третиот аргумент и максималниот број во четвртиот аргумент. Во зависност од тоа дали ви требаат цели броеви или децимали, поставете го 5-тиот аргумент на TRUE или FALSE, соодветно.

    Како пример, ајде да пополниме опсег од 6 редови и 4 колони со случајни цели броеви од 1 до 100. За ова , ги поставивме следните аргументи на функцијата RANDARRAY:

    • Редови е 6 бидејќи ги сакаме резултатите во 6 редови.
    • Колони е 4 како што ги сакаме резултатите во 4 колони.
    • Min е 1, што е минималната вредност што сакаме да ја имаме.
    • Max е 100, што е максималната вредност што треба да се генерира.
    • Целиот_број е ТОЧНО затоа што ни требаат цели броеви.

    Соединувајќи ги аргументите, добиваме оваа формула:

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

    И го дава следниот резултат:

    Генерирај случаен датум помеѓу два датума

    Барате генератор на случаен датум во Excel? Функцијата RANDARRAY е лесно решение! Сè што треба да направите е да го внесете претходниот датум (датум 1) и подоцнежен датум (датум 2) во предефинирани ќелии, а потоа да ги повикате тие ќелии во вашата формула:

    RANDARRAY(редови, колони, датум1, датум2, ТОЧНО)

    За овој пример, создадовме листа на случајни датуми помеѓу датумите во D1 и D2 со оваа формула:

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

    Се разбира, ништо не ве спречува да ги наведете датумите за минимум и максимум директно во формулата доколку сакате. Само погрижете се да ги внесете во формат што Excel може да го разбере:

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

    За да спречите грешки, можете да ја користите функцијата DATE за внесување датуми:

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

    Забелешка. Внатрешно Excel ги складира датумите како сериски броеви, така што резултатите од формулата најверојатно ќе бидат прикажани како броеви. За правилно прикажување на резултатите, применете го форматот Датум на сите ќелии во опсегот на излевање.

    Генерирајте случајни работни денови во Excel

    За производство на случајни работни денови, вметнете ја функцијата RANDARRAY во првиот аргумент на WORKDAY вака:

    WORKDAY(RANDARRAY(редови, колони, датум1 , датум2 , ТОЧНО), 1)

    RANDARRAY ќе создаде низа од случајни датуми за почеток, на кои функцијата WORKDAY ќе додаде 1 работен ден и ќе осигури дека сите вратени датуми се работни денови.

    Со датумот 1 во D1 и датумот 2 во D2, еве ја формулата за производство на список од 10 работни денови:

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

    Како и со претходниот пример, не заборавајте да го форматирате опсегот на истурање како Датум за резултатите да се прикажуваат правилно.

    Како да генерирате случајни броеви без дупликати

    Иако модерниот Excel нуди 6 нова динамична низафункции, за жал, сè уште нема вградена функција за враќање на случајни броеви без дупликати.

    За да изградите свој уникатен генератор на случајни броеви во Excel, ќе треба да поврзете неколку функции заедно како што е прикажано подолу.

    Случајни цели броеви :

    ИНДЕКС(ЕДИНСТВЕН(RANDARRAY( n *2, 1, мин , макс , ТОЧНО)), SEQUENCE( n ))

    Случајни децимали :

    ИНДЕКС(ЕДИНСТВЕН(РАНДАРЕН( n *2, 1, мин , макс , НЕТОЧНО)), SEQUENCE( n ))

    Каде:

    • N е колку вредности сакате да генерирате.
    • Min е најниската вредност.
    • Max е највисоката вредност.

    На пример, за да произведете 10 случајни цели броеви без дупликати, користете ја оваа формула:

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

    За да креирате список со 10 единствени случајни децимални броеви , сменете го TRUE во FALSE во последниот аргумент од функцијата RANDARRAY или едноставно испуштете го овој аргумент:

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

    Совети и забелешки:

    • Детално објаснување на формулата може да биде f ound во Како да генерирате случајни броеви во Excel без дупликати.
    • Во Excel 2019 и порано, функцијата RANDARRAY не е достапна. Наместо тоа, проверете го ова решение.

    Како случајно да подредувате во Excel

    За да ги измешате податоците во Excel, користете RANDARRAY за низата „сортирање по“ ( по_низа аргумент) на функцијата SORTBY. Функцијата ROWS ќе го брои бројот на редови во вашиотзбир на податоци, што покажува колку случајни броеви да се генерираат:

    SORTBY( податоци , RANDARRAY(ROWS( податоци )))

    Со овој пристап, можете да по случаен избор сортирајте листа во Excel, без разлика дали содржи броеви, датуми или текстуални записи:

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

    Исто така, можете и измешајте ги редовите без мешање на вашите податоци:

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

    Како да добиете случаен избор во Excel

    За да извлечете случаен избор примерок од список, еве генеричка формула за употреба:

    INDEX( податоци , RANDARRAY( n , 1, 1, ROWS( податоци ), ТОЧНО))

    Каде што n е бројот на случајни записи што сакате да ги извлечете.

    На пример, за случајно да изберете 3 имиња од списокот во A2:A10, користете ја оваа формула :

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

    Или внесете ја саканата големина на примерокот во некоја ќелија, да речеме C2, и упатете ја таа ќелија:

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

    Како функционира оваа формула:

    Во основата на оваа формула е функцијата RANDARRAY која создава случајна низа од цели броеви, со вредноста во C2 што дефинира колку вредности да се генерираат . Минималниот број е тврдокодиран (1), а максималниот број одговара на бројот на редови во вашата група податоци, кој се враќа со функцијата ROWS.

    Низата од случајни цели броеви оди директно во row_num аргумент на функцијата INDEX, наведувајќи ги позициите на ставките што треба да се вратат. За примерокот на сликата од екранот погоре, тоа е:

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

    Совет. Кога избирате голем примерок одмал сет на податоци, шансите се дека вашиот случаен избор ќе содржи повеќе од една појава на истиот запис, бидејќи не постои гаранција дека RANDARRAY ќе произведе само уникатни броеви. За да спречите тоа да се случи, користете верзија на оваа формула без дупликати.

    Како да изберете случајни редови во Excel

    Ако вашиот сет на податоци содржи повеќе од една колона, тогаш наведете кои колони да ги вклучите во примерокот. За ова, наведете константа на низа за последниот аргумент ( column_num ) од функцијата INDEX, вака:

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

    каде A2:B10 е изворниот податок и D2 е големината на примерокот.

    Како резултат, нашиот случаен избор ќе содржи две колони со податоци:

    Совет. Како што е случајот со претходниот пример, оваа формула може да врати дупликат записи. За да се осигурате дека вашиот примерок нема повторувања, користете малку поинаков пристап опишан во Како да изберете случајни редови без дупликати.

    Како по случаен избор да доделите броеви и текст во Excel

    За да извршите случајно доделување во Excel, користете RANDBETWEEN заедно со функцијата CHOOSE на овој начин:

    CHOOSE(RANDARRAY(ROWS( податоци ), 1, 1, n , ТОЧНО), вредност1 , вредност2 ,...)

    Каде:

    • Податоците се опсег од вашите изворни податоци на кои сакате да им доделите случајни вредности.
    • N е вкупниот број на вредности што треба да се доделат.
    • Вредност1 , вредност2 , вредност3 итн. се вредностите што треба да седоделени по случаен избор.

    На пример, за да доделите броеви од 1 до 3 на учесниците во A2:A13, користете ја оваа формула:

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

    За погодност, можете да ги внесете вредностите што ќе ги доделите во посебни ќелии, да речеме од D2 до D4, и да ги повикате тие ќелии во вашата формула (поединечно, не како опсег):

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

    Како резултат на тоа, ќе можете по случаен избор да доделите какви било броеви, букви, текст, датуми и времиња со истата формула:

    Забелешка. Функцијата RANDARRAY ќе продолжи да генерира нови случајни вредности со секоја промена во работниот лист, бидејќи на резултатот ќе се доделуваат нови вредности секој пат. За да ги „поправите“ доделените вредности, користете го Paste Special > Вредности карактеристики за замена на формулите со нивните пресметани вредности.

    Како функционира оваа формула

    Во срцето на ова решение повторно е функцијата RANDARRAY која произведува низа од случајни цели броеви врз основа на минималните и максималните броеви што ќе ги наведете (од 1 до 3 во нашиот случај). Функцијата ROWS му кажува на RANDARRAY колку случајни броеви да генерира. Оваа низа оди до аргументот index_num на функцијата CHOOSE. На пример:

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

    Index_num е аргументот што ги одредува позициите на вредностите што треба да се вратат. И бидејќи позициите се случајни, вредностите во D2:D4 се избираат по случаен редослед. Да, толку е едноставно :)

    Како случајно да доделите податоци на групи

    Кога вашата задача е да

    Мајкл Браун е посветен технолошки ентузијаст со страст за поедноставување на сложените процеси користејќи софтверски алатки. Со повеќе од една деценија искуство во технолошката индустрија, тој ги усоврши своите вештини во Microsoft Excel и Outlook, како и Google Sheets и Docs. Блогот на Мајкл е посветен на споделување на своето знаење и експертиза со другите, обезбедувајќи лесни за следење совети и упатства за подобрување на продуктивноста и ефикасноста. Без разлика дали сте искусен професионалец или почетник, блогот на Мајкл нуди вредни сознанија и практични совети за да го извлечете максимумот од овие основни софтверски алатки.