Функцыя Excel RANDARRAY - хуткі спосаб генерацыі выпадковых лікаў

  • Падзяліцца Гэтым
Michael Brown

Падручнік паказвае, як генераваць выпадковыя лікі, выпадкова сартаваць спіс, атрымліваць выпадковы выбар і выпадкова прызначаць даныя групам. Усе з новай функцыяй дынамічнага масіву - RANDARRAY.

Як вы, напэўна, ведаеце, у Microsoft Excel ужо ёсць некалькі функцый рандомізацыі - RAND і RANDBETWEEN. Які сэнс уводзіць яшчэ адну? У двух словах, таму што ён значна больш магутны і можа замяніць абедзве старыя функцыі. Акрамя наладжвання вашых уласных максімальных і мінімальных значэнняў, гэта дазваляе вам вызначыць, колькі радкоў і слупкоў запоўніць і ці трэба ствараць выпадковыя дзесятковыя або цэлыя лікі. Выкарыстоўваючыся разам з іншымі функцыямі, RANDARRAY можа нават ператасаваць даныя і выбраць выпадковы ўзор.

    Функцыя RANDARRAY Excel

    Функцыя RANDARRAY у Excel вяртае масіў выпадковых лікаў паміж любыя два лікі, якія вы ўказваеце.

    Гэта адна з шасці новых функцый дынамічнага масіву, прадстаўленых у Microsoft Excel 365. У выніку атрымліваецца дынамічны масіў, які аўтаматычна разліваецца на зададзеную колькасць радкоў і слупкоў.

    Функцыя мае наступны сінтаксіс. Звярніце ўвагу, што ўсе аргументы неабавязковыя:

    RANDARRAY([радкі], [слупкі], [мін], [макс], [цэлае_колькасць])

    Дзе:

    Радкі (неабавязкова) - вызначае, колькі радкоў трэба запоўніць. Калі прапушчана, па змаўчанні 1 радок.

    Слупкі (неабавязкова) - вызначае, колькі слупкоў трэба запоўніць. Калі апушчаны, па змаўчанні 1выпадковым чынам размеркаваць удзельнікаў па групах, прыведзеная вышэй формула можа быць непрыдатнай, таму што яна не кантралюе, колькі разоў выбіраецца дадзеная група. Напрыклад, 5 чалавек могуць быць прызначаны ў групу A, а толькі 2 чалавекі ў групу C. Каб выканаць выпадковае размеркаванне раўнамерна , каб у кожнай групе была аднолькавая колькасць удзельнікаў, неабходна іншае рашэнне.

    Спачатку вы ствараеце спіс выпадковых лікаў, выкарыстоўваючы наступную формулу:

    =RANDARRAY(ROWS(A2:A13))

    Дзе A2:A13 вашы зыходныя даныя.

    І потым вы прызначаеце групы (ці што-небудзь яшчэ) з дапамогай гэтай агульнай формулы:

    INDEX( values_to_assign, ROUNDUP(RANK( first_random_number, random_numbers_range)/ 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, які прадстаўляе прызначаную групу.

    Функцыя RANDARRAY Excel не працуе

    Калі ваша формула RANDARRAY вяртае памылку, гэта найбольш відавочныя прычыны праверыць:

    памылка #SPILL

    Як і з любой іншай функцыяй дынамічнага масіву, #SPILL! памылка часцей за ўсё азначае, што ў меркаваным дыяпазоне разліву недастаткова месца для адлюстравання ўсіх вынікаў. Проста ачысціце ўсе ячэйкі ў гэтым дыяпазоне, і ваша формула будзе пералічана аўтаматычна. Для атрымання дадатковай інфармацыі, калі ласка, глядзіце памылку Excel #SPILL - прычыны і выпраўленні.

    памылка #VALUE

    A #VALUE! у іх можа адбыцца памылкаабставіны:

    • Калі значэнне max меншае за значэнне min .
    • Калі любы з аргументаў не лікавы.

    Памылка #NAME

    У большасці выпадкаў #NAME! памылка паказвае на адно з наступнага:

    • Імя функцыі напісана з памылкай.
    • Функцыя недаступная ў вашай версіі Excel.

    #CALC! памылка

    A #CALC! памылка ўзнікае, калі аргумент радкі або слупкі меншы за 1 або спасылаецца на пустую ячэйку.

    Вось як стварыць генератар выпадковых лікаў у Excel з новым Функцыя RANDARRAY. Я дзякую вам за чытанне і спадзяюся ўбачыць вас у нашым блогу на наступным тыдні!

    Практычны сшытак для спампоўкі

    Прыклады формул RANDARRAY (файл .xlsx)

    слупок.

    Min (неабавязкова) - найменшы выпадковы лік для атрымання. Калі не пазначана, выкарыстоўваецца стандартнае значэнне 0.

    Макс (неабавязкова) - найбольшы выпадковы лік для стварэння. Калі не пазначана, выкарыстоўваецца значэнне па змаўчанні 1.

    Цэлы_лік (неабавязкова) - вызначае, якія значэнні вяртаць:

    • TRUE - цэлыя лікі
    • ХЛУСНЯ або прапушчана (па змаўчанні) - дзесятковыя лічбы

    Функцыя 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.

    Стварэнне выпадковых лікаў паміж двума лікамі

    Каб стварыць спіс выпадковыя лікі ў пэўным дыяпазоне, падайце мінімальнае значэнне ў 3-м аргументе і максімальнае значэнне ў 4-м аргументе. У залежнасці ад таго, патрэбныя вам цэлыя лікі ці дзесятковыя, усталюйце для 5-га аргумента TRUE або FALSE адпаведна.

    У якасці прыкладу давайце запоўнім дыяпазон з 6 радкоў і 4 слупкоў выпадковымі цэлымі лікамі ад 1 да 100. Для гэтага , мы ўсталёўваем наступныя аргументы функцыі RANDARRAY:

    • Радкі роўны 6, паколькі нам патрэбны вынікі ў 6 радках.
    • Слупкі роўна 4, таму што мы хочам, каб вынікі былі ў 4 слупках.
    • Мін роўна 1, што з'яўляецца мінімальным значэннем, якое мы хочам мець.
    • Макс роўна 100, што з'яўляецца максімальным значэннем, якое можа быць згенеравана.
    • Цэлы_лік мае значэнне TRUE, таму што нам патрэбныя цэлыя лікі.

    Складваючы аргументы разам, мы атрымліваем гэтая формула:

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

    І яна дае наступны вынік:

    Стварыць выпадковую дату паміж дзвюма датамі

    Шукаеце генератар выпадковых дат у Excel? Функцыя RANDARRAY - простае рашэнне! Усё, што вам трэба зрабіць, гэта ўвесці больш раннюю дату (дата 1) і больш познюю дату (дата 2) у загадзя вызначаныя ячэйкі, а затым спасылацца на гэтыя ячэйкі ў вашай формуле:

    RANDARRAY(радкі, слупкі, дата1, date2, TRUE)

    Для гэтага прыкладу мы стварылі спіс выпадковых дат паміж датамі ў D1 і D2 з дапамогай гэтай формулы:

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

    Вядома, нішто не перашкаджае вам паставіць мінімальную і максімальную даты непасрэдна ў формулу, калі вы хочаце. Проста пераканайцеся, што вы ўвялі іх у фармаце, які Excel разумее:

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

    Каб прадухіліць памылкі, вы можаце выкарыстоўваць функцыю ДАТА для ўводу дат:

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

    Заўвага. Унутрана Excel захоўвае даты ў выглядзе парадкавых нумароў, таму вынікі формулы, хутчэй за ўсё, будуць адлюстроўвацца ў выглядзе лічбаў. Каб правільна адлюстраваць вынікі, прымяніце фармат Дата да ўсіх вочак у дыяпазоне разліву.

    Стварэнне выпадковых працоўных дзён у Excel

    Каб стварыць выпадковыя працоўныя дні, убудуйце функцыю RANDARRAY у першы аргумент WORKDAY наступным чынам:

    WORKDAY(RANDARRAY(радкі, слупкі, date1 , date2 , TRUE), 1)

    RANDARRAY створыць масіў выпадковых дат пачатку, да якіх функцыя WORKDAY дадасць 1 працоўны дзень і гарантуе, што ўсе вернутыя даты з'яўляюцца працоўнымі днямі.

    З датай 1 у D1 і датай 2 у D2, вось формула для стварэння спісу з 10 дзён тыдня:

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

    Як і з у папярэднім прыкладзе, не забудзьце адфарматаваць дыяпазон разліву як Дата , каб вынікі адлюстроўваліся правільна.

    Як згенераваць выпадковыя лікі без дублікатаў

    Хоць сучасны Excel прапануе 6 новы дынамічны масіўфункцый, на жаль, да гэтага часу няма ўбудаванай функцыі для вяртання выпадковых лікаў без дублікатаў.

    Каб стварыць свой уласны ўнікальны генератар выпадковых лікаў у Excel, вам трэба будзе злучыць некалькі функцый разам, як паказана ніжэй.

    Выпадковыя цэлыя лікі :

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

    Выпадковыя дзесятковыя знакі :

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

    Дзе:

    • N - гэта колькасць значэнняў, якія вы хочаце згенераваць.
    • Мін - самае нізкае значэнне.
    • Макс - самае высокае значэнне.

    Напрыклад, каб атрымаць 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))

    Парады і заўвагі:

    • Падрабязнае тлумачэнне формулы можа быць у раздзеле Як генераваць выпадковыя лікі ў Excel без дублікатаў.
    • У Excel 2019 і больш ранніх версіях функцыя RANDARRAY недаступная. Замест гэтага азнаёмцеся з гэтым рашэннем.

    Як сартаваць у выпадковым парадку ў Excel

    Каб ператасаваць даныя ў Excel, выкарыстоўвайце RANDARRAY для масіва «сартаваць па» ( па_масіўу аргумент) функцыі SORTBY. Функцыя ROWS падлічыць колькасць радкоў у вашымнабор даных, які паказвае, колькі выпадковых лікаў трэба згенераваць:

    SORTBY( data , RANDARRAY(ROWS( data )))

    З такім падыходам вы можаце выпадкова сартаваць спіс у Excel, незалежна ад таго, змяшчае ён лічбы, даты або тэкставыя запісы:

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

    Акрамя таго, вы таксама можаце ператасаваць радкі без змешвання вашых даных:

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

    Як атрымаць выпадковы выбар у Excel

    Каб атрымаць выпадковы узор са спісу, вось агульная формула для выкарыстання:

    INDEX( data , RANDARRAY( n , 1, 1, ROWS( data ), ПРАЎДА))

    Дзе 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( data ), 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 будзе працягваць генераваць новыя выпадковыя значэнні з кожным змяненнем у працоўным аркушы, так як у выніку кожны раз будуць прысвойвацца новыя значэнні. Каб "выправіць" прысвоеныя значэнні, выкарыстоўвайце Спецыяльную ўстаўку > Функцыі значэнняў для замены формул на іх разлічаныя значэнні.

    Як працуе гэтая формула

    У цэнтры гэтага рашэння зноў ляжыць функцыя RANDARRAY, якая стварае масіў выпадковых цэлых лікаў на аснове мінімальных і максімальных лікаў, якія вы ўказваеце (ад 1 да 3 у нашым выпадку). Функцыя ROWS паведамляе RANDARRAY, колькі выпадковых лікаў трэба згенераваць. Гэты масіў пераходзіць да аргумента index_num функцыі CHOOSE. Напрыклад:

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

    Нумар_індэкса - гэта аргумент, які вызначае пазіцыі значэнняў, якія трэба вярнуць. А паколькі пазіцыі выпадковыя, значэнні ў D2:D4 выбіраюцца ў выпадковым парадку. Так, гэта так проста :)

    Як выпадковым чынам размеркаваць дадзеныя па групах

    Калі ваша задача -

    Майкл Браўн - адданы энтузіяст тэхналогій, які любіць спрашчэнне складаных працэсаў з дапамогай праграмных інструментаў. Маючы больш чым дзесяцігадовы досвед працы ў індустрыі тэхналогій, ён удасканальваў свае навыкі ў Microsoft Excel і Outlook, а таксама ў Google Sheets і Docs. Блог Майкла прысвечаны таму, каб падзяліцца сваімі ведамі і вопытам з іншымі, даючы простыя ў выкананні парады і падручнікі для павышэння прадукцыйнасці і эфектыўнасці. Незалежна ад таго, з'яўляецеся вы дасведчаным прафесіяналам або пачаткоўцам, блог Майкла прапануе каштоўную інфармацыю і практычныя парады, каб атрымаць максімальную аддачу ад гэтых неабходных праграмных інструментаў.