Како генерисати насумичне бројеве у Екцелу без понављања

  • Деле Ово
Michael Brown

У овом чланку ћемо разговарати о неколико различитих формула за насумично подешавање у Екцел-у без понављања бројева. Такође, показаћемо вам универзални Рандом Генератор који може да произведе листу насумичних бројева, датума и низова без понављања.

Као што вероватно знате, Мицрософт Екцел има неколико функција за генерисање случајних бројева као што су РАНД, РАНДБЕТВЕЕН и РАНДАРРАИ. Међутим, не постоји гаранција да ће резултат било које функције бити без дупликата.

Овај водич објашњава неколико формула за креирање листе јединствених случајних бројева. Обратите пажњу да неке формуле функционишу само у најновијој верзији програма Екцел 365 и 2021, док се друге могу користити у било којој верзији програма Екцел 2019, Екцел 2016, Екцел 2013 и раније.

    Набавите листа јединствених насумичних бројева са унапред дефинисаним кораком

    Ради само у Екцел 365 и Екцел 2021 који подржавају динамичке низове.

    Ако имате најновију верзију Екцел-а, најлакше је начин да добијете листу јединствених насумичних бројева је да комбинујете 3 нове функције динамичког низа: СОРТБИ, СЕКУЕНЦЕ и РАНДАРРАИ:

    СОРТБИ(СЕКУЕНЦЕ( н), РАНДАРРАИ( н))

    Где је н број насумичних вредности које желите да добијете.

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

    =SORTBY(SEQUENCE(5), RANDARRAY(5))

    Унесите формулу у највишу ћелију, притисните тастер Ентер и резултати ће се аутоматски прелити преконаведен број ћелија.

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

    У горњој формули дефинишете само колико редова треба попунити. Сви остали аргументи су остављени на њихове подразумеване вредности, што значи да ће листа почети од 1 и да ће бити увећана за 1. Ако желите другачији први број и инкремент, поставите сопствене вредности за 3. ( старт ) и 4. ( корак ) аргументе функције СЕКУЕНЦЕ.

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

    =SORTBY(SEQUENCE(5, , 100, 10), RANDARRAY(5))

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

    Ради изнутра према ван, ево шта формула ради:

    • Функција СЕКУЕНЦЕ креира низ секвенцијални бројеви засновани на специфицираној или подразумеваној почетној вредности и растућој величини корака. Ова секвенца иде у аргумент арраи СОРТБИ.
    • Функција РАНДАРРАИ креира низ случајних бројева исте величине као секвенца (5 редова, 1 колона у нашем случају). Минимална и максимална вредност заправо нису битне, тако да их можемо оставити на подразумеване вредности. Овај низ иде у аргумент би_арраи СОРТБИ.
    • Функција СОРТБИ сортира секвенцијалне бројеве које генерише СЕКУЕНЦЕ користећи низ насумичних бројева које производиРАНДАРРАИ.

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

    Генеришите листу насумичних бројева без дупликата

    Ради само у Екцел 365 и Екцел 2021 који подржавају динамичку низови.

    Да бисте генерисали насумичне бројеве у Екцел-у без дупликата, користите једну од доле наведених генеричких формула.

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

    ИНДЕКС(УНИКУЕ( РАНДАРРАИ( н ^2, 1, мин , мак , ТРУЕ)), СЕКУЕНЦЕ( н ))

    Насумичне децимале :

    ИНДЕКС(ЈЕДИНСТВЕНИ(РАНДАРРАИ( н ^2, 1, мин , мак , ФАЛСЕ)), СЕКУЕНЦЕ( н ))

    Где је:

    • Н број вредности за генерисање.
    • Мин је минимална вредност.
    • Мак је максимална вредност.

    На пример, да бисте направили листу од 5 насумичних целих бројева од 1 до 100 без понављања, користите ову формулу:

    =INDEX(UNIQUE(RANDARRAY(5^2, 1, 1, 100, TRUE)), SEQUENCE(5))

    Да бисте генерисали 5 јединствених случајних декадских бројева , ставите ФАЛСЕ у последњи аргумент РАНДАРРАИ-а или изоставите ово аргумент:

    =INDEX(UNIQUE(RANDARRAY(5^2, 1, 1, 100)), SEQUENCE(5))

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

    На фи На први поглед формула може изгледати помало зезнута, али када се боље погледа њена логика је веома јасна:

    • Функција РАНДАРРАИ креира низ насумичних бројева на основу минималних и максималних вредности које наведете. Да бисте одредили колико вредности требагенеришете, подижете жељени број јединствених јединица на степен 2. Пошто резултујући низ можда има нико не зна колико дупликата, морате да обезбедите довољан низ вредности за УНИКУЕ да бирате. У овом примеру, потребно нам је само 5 јединствених насумичних бројева, али ми наводимо РАНДАРРАИ да произведе 25 (5^2).
    • Функција УНИКУЕ уклања све дупликате и „уноси“ низ без дупликата у ИНДЕКС.
    • Из низа који прослеђује УНИКУЕ, функција ИНДЕКС издваја прве н вредности као што је наведено у СЕКУЕНЦЕ (5 бројева у нашем случају). Пошто су вредности већ у насумичном редоследу, није битно које ће преживети.

    Напомена. На веома великим низовима, ова формула може бити мало спора. На пример, да би добио листу од 1.000 јединствених бројева као коначни резултат, РАНДАРРАИ би морао интерно да генерише низ од 1.000.000 случајних бројева (1000^2). У таквим ситуацијама, уместо подизања на степен, можете помножити н са, рецимо, 10 или 20. Само имајте на уму да се мањи низ прослеђује функцији УНИКУЕ (мали у односу на жељени број јединствених насумичних вредности), већа је шанса да све ћелије у опсегу просуте вредности неће бити попуњене резултатима.

    Креирајте опсег случајних бројева који се не понављају у Екцел-у

    Ради само у Екцел 365 и Екцел 2021 који подржавају динамичке низове.

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

    ИНДЕКС(ЈЕДИНСТВЕНИ(РАНДАРРАИ( н ^2, 1, мин , мак )), СЕКУЕНЦЕ( редови , колоне ))

    Где је:

    • н број ћелија које треба попунити. Да бисте избегли ручне прорачуне, можете га доставити као (бр. редова * бр. колона). На пример, да бисте попунили 10 редова и 5 колона, користите 50^2 или (10*5)^2.
    • Редови је број редова које треба попунити.
    • Колоне је број колона које треба попунити.
    • Мин је најнижа вредност.
    • Макс је највећа вредност.

    Као што можете приметити, формула је у основи иста као у претходном примеру. Једина разлика је у функцији СЕКУЕНЦЕ, која у овом случају дефинише и број редова и колона.

    На пример, да бисте попунили опсег од 10 редова и 3 колоне јединственим насумичним бројевима од 1 до 100, користите ова формула:

    =INDEX(UNIQUE(RANDARRAY(30^2, 1, 1, 100)), SEQUENCE(10, 3))

    И она ће произвести низ насумичних децимала без понављања бројева:

    Ако су вам потребни цели бројеви, онда поставите последњи аргумент РАНДАРРАИ на ТРУЕ :

    =INDEX(UNIQUE(RANDARRAY(30^2, 1, 1, 100, TRUE)), SEQUENCE(10,3))

    Како да генеришете јединствене случајне бројеве у Екцел 2019, 2016 и старијим верзијама

    Пошто ниједна верзија осим Екцел 365 и 2021 не подржава динамичке низове, ништа од горе наведеног решења раде у старијим верзијама Екцел-а. Међутим, то не значи да уопште нема решења, само ћете морати да извршите још неколико корака:

    1. Креирајте листу насумичних бројева. На основу вашегпотребе, користите или:
      • функцију РАНД за генерисање насумичних децимала између 0 и 1, или
      • функцију РАНДБЕТВЕЕН за производњу насумичних целих бројева у опсегу који наведете.

      Обавезно генеришете више вредности него што вам је заиста потребно јер ће неке бити дупликати и касније ћете их избрисати.

      За овај пример, креирамо листу од 10 насумичних целих бројева између 1 и 20 према користећи формулу испод:

      =RANDBETWEEN(1,20)

      Да бисте унели формулу у више ћелија одједном, изаберите све ћелије (А2:А15 у нашем примеру), откуцајте формулу у траку са формулама и притисните Цтрл + Ентер. Или можете да унесете формулу у прву ћелију као и обично, а затим је превуците надоле на онолико ћелија колико је потребно.

      У сваком случају, резултат ће изгледати отприлике овако:

      Како можете приметите, унели смо формулу у 14 ћелија, мада нам је на крају потребно само 10 јединствених насумичних бројева.

    2. Промени формуле у вредности. Како се и РАНД и РАНДБЕТВЕЕН поново израчунавају са сваком променом на радном листу, ваша листа насумичних бројева ће се стално мењати. Да бисте спречили да се то догоди, користите Специјално лепљење &гт; Вредности да бисте претворили формуле у вредности као што је објашњено у Како зауставити поновно израчунавање случајних бројева.

      Да бисте били сигурни да сте то урадили како треба, изаберите било који број и погледајте траку са формулама. Сада би требало да приказује вредност, а не формулу:

    3. Избриши дупликате. Да га имамУрађено, изаберите све бројеве, идите на картицу Подаци &гт; Алатке за податке групу и кликните на Уклони дупликате . У дијалошком оквиру Уклони дупликате који се појави, једноставно кликните на ОК без да ништа мењате. За детаљне кораке погледајте Како уклонити дупликате у Екцел-у.

    Готово! Сви дупликати су нестали и сада можете да избришете вишак бројева.

    Савет. Уместо Екцел-овог уграђеног алата, можете да користите наш напредни алат за уклањање дупликата за Екцел.

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

    Све функције насумичног подешавања у Екцел-у укључујући РАНД, РАНДБЕТВЕЕН и РАНДАРРАИ су променљиви, што значи да се поново израчунавају сваки пут када се табела промени. Као резултат, нове насумичне вредности се производе са сваком променом. Да бисте спречили аутоматско генерисање нових бројева, користите Специјално лепљење &гт; Функција вредности за замену формула статичким вредностима. Ево како:

    1. Изаберите све ћелије са својом насумичном формулом и притисните Цтрл + Ц да их копирате.
    2. Кликните десним тастером миша на изабрани опсег и кликните на Специјално налепи &гт; Вредности . Алтернативно, можете да притиснете Схифт + Ф10, а затим В , што је пречица за ову опцију.

    За детаљне кораке погледајте Како променити формуле у вредности у Екцел-у.

    Генератор случајних бројева за Екцел без понављања

    Корисницима нашег Ултимате Суите-а заправо није потребно ниједно од горе наведених решења јервећ имају универзални Рандом Генератор у свом Екцел-у. Овај алат може лако да произведе листу целих бројева који се не понављају, децималних бројева, датума и јединствених лозинки. Ево како:

    1. На картици Аблебитс Тоолс кликните на Рандомизе &гт; Рандом Генератор .
    2. Изаберите опсег који треба попунити насумичним бројевима.
    3. У окну Рандом Генератор урадите следеће:
      • Изаберите жељени тип вредности: цео број, реални број, датум, Боолеан , прилагођену листу или стринг (идеално за генерисање јаких јединствених лозинки!).
      • Подесите вредности Од и До .
      • Изаберите Поље за потврду Јединствене вредности .
      • Кликните на Генериши .

    То је то! Изабрани опсег се одједном попуњава насумичним бројевима који се не понављају:

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

    Тако можете насумично подесити бројеве у Екцел-у без дупликата. Захваљујем вам што сте читали и надам се да се видимо на нашем блогу следеће недеље!

    Вежбање за преузимање

    Генеришите јединствене случајне бројеве у Екцел-у (.клск датотека)

    Мајкл Браун је посвећен технолошки ентузијаста са страшћу за поједностављење сложених процеса помоћу софтверских алата. Са више од деценије искуства у технолошкој индустрији, усавршио је своје вештине у Мицрософт Екцел-у и Оутлоок-у, као и у Гоогле табеле и документима. Мајклов блог посвећен је дељењу свог знања и стручности са другима, пружајући једноставне савете и упутства за побољшање продуктивности и ефикасности. Без обзира да ли сте искусан професионалац или почетник, Мајклов блог нуди вредне увиде и практичне савете како да на најбољи начин искористите ове основне софтверске алате.