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

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

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

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

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

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

    Работи само во Excel 365 и Excel 2021 кои поддржуваат динамички низи.

    Ако ја имате најновата верзија на Excel, најлесно начин како да добиете листа на единствени случајни броеви е да комбинирате 3 нови функции на динамичка низа: SORTBY, SEQUENCE и RANDARRAY:

    SORTBY(SEQUENCE( n), RANDARRAY( n))

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

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

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

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

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

    Во горната формула, вие дефинирате само колку редови да се пополнат. Сите други аргументи се оставени на нивните стандардни вредности, што значи дека списокот ќе започне со 1 и ќе се зголемува за 1. Ако сакате друг прв број и зголемување, тогаш поставете ги вашите сопствени вредности за третата ( почеток ) и 4-ти ( чекор ) аргументи на функцијата SEQUENCE.

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

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

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

    Работејќи од внатре кон надвор, еве што прави формулата:

    • Функцијата SEQUENCE создава низа од секвенцијални броеви врз основа на наведената или стандардната почетна вредност и зголемувањето на големината на чекорот. Оваа низа оди до аргументот низа на SORTBY.
    • Функцијата RANDARRAY создава низа од случајни броеви со иста големина како и низата (5 редови, 1 колона во нашиот случај). Вредноста минимум и максимум навистина не се важни, така што можеме да ги оставиме тие да бидат стандардни. Оваа низа оди до аргументот by_array на SORTBY.
    • Функцијата SORTBY ги сортира секвенцијалните броеви генерирани од SEQUENCE користејќи низа од случајни броеви произведени одRANDARRAY.

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

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

    Работи само во Excel 365 и Excel 2021 кои поддржуваат динамика низи.

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

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

    INDEX(UNIQUE( RANDARRAY( n ^2, 1, мин , max , TRUE)), SEQUENCE( n ))

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

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

    Каде:

    • N е бројот на вредности што треба да се генерираат.
    • Мин е минималната вредност.
    • Max е максималната вредност.

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

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

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

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

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

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

    • Функцијата RANDARRAY создава низа од случајни броеви врз основа на минималните и максималните вредности што ги наведовте. За да се утврди колку вредности дагенерирате, го подигате саканиот број на уникати на јачина од 2. Бидејќи добиената низа може да има никој не знае колку дупликати, треба да обезбедите доволна низа вредности од кои може да се избере UNIQUE. Во овој пример, ни требаат само 5 уникатни случајни броеви, но му наредуваме на RANDARRAY да произведе 25 (5^2).
    • Функцијата UNIQUE ги отстранува сите дупликати и „храни“ низа без дупликати во INDEX.
    • Од низата пренесена од UNIQUE, функцијата INDEX ги извлекува првите n вредности како што е наведено со SEQUENCE (5 броеви во нашиот случај). Бидејќи вредностите се веќе по случаен редослед, навистина не е важно кои ќе преживеат.

    Забелешка. На многу големи низи, оваа формула може да биде малку бавна. На пример, за да се добие листа од 1.000 уникатни броеви како конечен резултат, RANDARRAY ќе мора да генерира низа од 1.000.000 случајни броеви (1000^2) внатрешно. Во такви ситуации, наместо да се подигнете на моќ, можете да помножите n , да речеме, со 10 или 20. Само имајте на ум дека помалата низа е предадена на функцијата UNIQUE (мала во однос на саканиот број на уникатни случајни вредности), толку е поголема шансата да не се пополнат сите ќелии во опсегот на излевање со резултатите.

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

    Работи само во Excel 365 и Excel 2021 кои поддржуваат динамички низи.

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

    INDEX(UNIQUE(RANDARRAY( n ^2, 1, min , max )), SEQUENCE( редови , колони ))

    Каде:

    • n е бројот на ќелии што треба да се пополнат. За да избегнете рачни пресметки, можете да го дадете како (бр. редови * бр. колони). На пример, за да пополните 10 редови и 5 колони, користете 50^2 или (10*5)^2.
    • Редови е бројот на редови што треба да се пополнат.
    • Колони е бројот на колони што треба да се пополнат.
    • Min е најниската вредност.
    • Max е највисоката вредност.

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

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

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

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

    Ако ви требаат цели броеви, тогаш поставете го последниот аргумент на RANDARRAY на TRUE :

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

    Како да генерирате единствени случајни броеви во Excel 2019, 2016 и порано

    Бидејќи ниту една друга верзија освен Excel 365 и 2021 не поддржува динамички низи, ниту една од горенаведените решенијата работат во претходните верзии на Excel. Сепак, ова не значи дека воопшто нема решение, само ќе треба да извршите уште неколку чекори:

    1. Креирајте список со случајни броеви. Врз основа на вашататреба, користете или:
      • Функцијата RAND за генерирање случајни децимали помеѓу 0 и 1, или
      • Функцијата RANDBETWEEN за производство на случајни цели броеви во опсегот што ќе го наведете.

      Погрижете се да генерирате повеќе вредности отколку што навистина ви требаат бидејќи некои ќе бидат дупликати и подоцна ќе ги избришете.

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

      =RANDBETWEEN(1,20)

      За да ја внесете формулата во повеќе ќелии едновремено, изберете ги сите ќелии (A2:A15 во нашиот пример), напишете ја формулата во лентата со формули и притиснете Ctrl + Enter. Или можете да ја внесете формулата во првата ќелија како и обично, а потоа да ја повлечете на онолку ќелии колку што е потребно.

      Како и да е, резултатот ќе изгледа отприлика вака:

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

    2. Променете ги формулите во вредности. Бидејќи и RAND и RANDBETWEEN повторно се пресметуваат со секоја промена на работниот лист, вашата листа на случајни броеви постојано ќе се менува. За да спречите тоа да се случи, користете Залепете специјално > Вредности за претворање на формулите во вредности како што е објаснето во Како да се спречи повторното пресметување на случајни броеви.

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

    3. Избриши дупликати. Да го имамготово, изберете ги сите броеви, одете во групата Податоци > Алатки за податоци и кликнете Отстрани дупликати . Во полето за дијалог Отстрани дупликати што се појавува, едноставно кликнете OK без да менувате ништо. За деталните чекори, погледнете Како да отстраните дупликати во Excel.

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

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

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

    Сите функции за случаен избор во Excel, вклучувајќи RAND, RANDBETWEEN и RANDARRAY се испарливи, што значи дека тие повторно пресметуваат секогаш кога се менува табелата. Како резултат на тоа, со секоја промена се создаваат нови случајни вредности. За да спречите автоматско генерирање на нови броеви, користете го специјалното залепување > Вредностите функција за замена на формулите со статични вредности. Еве како:

    1. Изберете ги сите ќелии со вашата случајна формула и притиснете Ctrl + C за да ги копирате.
    2. Десен клик на избраниот опсег и кликнете Залепи специјално > Вредности . Алтернативно, можете да притиснете Shift + F10 и потоа V , што е кратенка за оваа опција.

    За деталните чекори, погледнете Како да ги промените формулите во вредности во Excel.

    Генератор на случаен број за Excel без повторувања

    На корисниците на нашиот Ultimate Suite навистина не им треба ниту едно од горенаведените решенија бидејќитие веќе имаат универзален генератор на случаен избор во нивниот Excel. Оваа алатка лесно може да произведе листа на цели броеви кои не се повторуваат, децимали броеви, датуми и единствени лозинки. Еве како:

    1. На картичката Ablebits Tools , кликнете Randomize > Random Generator .
    2. Изберете опсегот што треба да се пополни со случајни броеви.
    3. На панелот Random Generator , направете го следново:
      • Изберете го саканиот тип на вредност: цел број, реален број, датум, Булова , приспособена листа или низа (идеални за генерирање силни уникатни лозинки!).
      • Поставете ги вредностите Од и До .
      • Изберете ја Полето за избор на Единствени вредности .
      • Кликнете Генерирај .

    Тоа е тоа! Избраниот опсег се пополнува со случајни броеви што не се повторуваат одеднаш:

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

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

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

    Генерирајте уникатни случајни броеви во Excel (датотека .xlsx)

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