Kako generirati slučajne brojeve u Excelu bez ponavljanja

  • Podijeli Ovo
Michael Brown

U ovom ćemo članku raspravljati o nekoliko različitih formula za nasumično raspoređivanje u Excelu bez ponavljanja brojeva. Također, pokazat ćemo vam univerzalni Generator slučajnih brojeva koji može proizvesti popis slučajnih brojeva, datuma i nizova bez ponavljanja.

Kao što vjerojatno znate, Microsoft Excel ima nekoliko funkcija za generiranje slučajnih brojeva kao što su RAND, RANDBETWEEN i RANDARRAY. Međutim, nema jamstva da će rezultat bilo koje funkcije biti bez duplikata.

Ovaj vodič objašnjava nekoliko formula za stvaranje popisa jedinstvenih nasumičnih brojeva. Imajte na umu da neke formule rade samo u najnovijoj verziji programa Excel 365 i 2021, dok se druge mogu koristiti u bilo kojoj verziji programa Excel 2019, Excel 2016, Excel 2013 i starijim.

    Preuzmi popis jedinstvenih nasumičnih brojeva s unaprijed definiranim korakom

    Radi samo u programima Excel 365 i Excel 2021 koji podržavaju dinamičke nizove.

    Ako imate najnoviju verziju programa Excel, najlakši način na koji možete dobiti popis jedinstvenih nasumičnih brojeva je kombinacija 3 nove funkcije dinamičkog niza: SORTBY, SEQUENCE i RANDARRAY:

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

    Gdje je n broj slučajnih vrijednosti koje želite dobiti.

    Na primjer, za izradu popisa od 5 slučajnih brojeva, upotrijebite 5 za n :

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

    Unesite formulu u najvišu ćeliju, pritisnite tipku Enter i rezultati će se automatski preliti prekoodređeni broj ćelija.

    Kao što možete vidjeti na slici ispod, ova formula zapravo razvrstava brojeve od 1 do 5 nasumičnim redoslijedom . Ako trebate klasični generator slučajnih brojeva bez ponavljanja, pogledajte druge primjere koji slijede u nastavku.

    U gornjoj formuli definirate samo koliko redaka treba ispuniti. Svi ostali argumenti ostavljeni su na svojim zadanim vrijednostima, što znači da će popis započeti s 1 i bit će povećan za 1. Ako želite drugačiji prvi broj i povećanje, tada postavite vlastite vrijednosti za 3. ( start ) i 4. ( korak ) argument funkcije SEQUENCE.

    Na primjer, za početak od 100 i povećanje za 10 upotrijebite ovu formulu:

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

    Kako ova formula funkcionira:

    Radeći iznutra prema van, evo što formula radi:

    • Funkcija SEQUENCE stvara niz uzastopne brojeve na temelju navedene ili zadane početne vrijednosti i veličine koraka povećanja. Ovaj niz ide na argument niza funkcije SORTBY.
    • Funkcija RANDARRAY stvara niz nasumičnih brojeva iste veličine kao niz (5 redaka, 1 stupac u našem slučaju). Minimalna i maksimalna vrijednost zapravo nisu bitne, pa ih možemo ostaviti prema zadanim postavkama. Ovaj niz ide na argument by_array funkcije SORTBY.
    • Funkcija SORTBY razvrstava sekvencijalne brojeve koje generira SEQUENCE pomoću niza slučajnih brojeva koje proizvodiRANDARRAY.

    Imajte na umu da ova jednostavna formula stvara popis nasumičnih brojeva koji se ne ponavljaju s unaprijed definiranim korakom . Da biste zaobišli ovo ograničenje, upotrijebite naprednu verziju formule opisane u nastavku.

    Generirajte popis nasumičnih brojeva bez duplikata

    Radi samo u programima Excel 365 i Excel 2021 koji podržavaju dinamiku polja.

    Za generiranje nasumičnih brojeva u Excelu bez duplikata, koristite jednu od dolje navedenih generičkih formula.

    Nasumični cijeli brojevi :

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

    Nasumične decimale :

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

    Gdje je:

    • N broj vrijednosti za generiranje.
    • Min je minimalna vrijednost.
    • Max je maksimalna vrijednost.

    Na primjer, za izradu popisa od 5 nasumičnih cijelih brojeva od 1 do 100 bez ponavljanja, upotrijebite ovu formulu:

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

    Da biste generirali 5 jedinstvenih nasumičnih decimalnih brojeva , stavite FALSE u zadnji argument RANDARRAY-a ili izostavite ovo argument:

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

    Kako ova formula funkcionira:

    Na fi Na prvi pogled formula može izgledati pomalo lukavo, ali kada se bolje pogleda, njezina je logika vrlo jednostavna:

    • Funkcija RANDARRAY stvara niz slučajnih brojeva na temelju minimalnih i maksimalnih vrijednosti koje navedete. Da biste odredili koliko vrijednostigenerirate, podižete željeni broj jedinstvenih na potenciju 2. Budući da dobiveni niz može imati nitko ne zna koliko duplikata, trebate osigurati dovoljan niz vrijednosti za izbor UNIQUE. U ovom primjeru potrebno nam je samo 5 jedinstvenih nasumičnih brojeva, ali naređujemo RANDARRAY-u da proizvede 25 (5^2).
    • Funkcija UNIQUE uklanja sve duplikate i "hrani" polje bez duplikata u INDEX.
    • Iz niza koji prosljeđuje UNIQUE, funkcija INDEX izvlači prvih n vrijednosti kako je određeno nizom SEQUENCE (5 brojeva u našem slučaju). Budući da su vrijednosti već raspoređene slučajnim redoslijedom, nije bitno koje će preživjeti.

    Napomena. Na vrlo velikim nizovima, ova formula može biti malo spora. Na primjer, da bi dobili popis od 1.000 jedinstvenih brojeva kao konačni rezultat, RANDARRAY bi morao interno generirati niz od 1.000.000 nasumičnih brojeva (1000^2). U takvim situacijama, umjesto dizanja na potenciju, možete pomnožiti n s, recimo, 10 ili 20. Samo imajte na umu da se manji niz prosljeđuje funkciji UNIQUE (mali u odnosu na željeni broj jedinstvenih nasumičnih vrijednosti), veća je vjerojatnost da neće sve ćelije u rasponu izlijevanja biti ispunjene rezultatima.

    Stvorite raspon nasumičnih brojeva koji se ne ponavljaju u programu Excel

    Radi samo u programima Excel 365 i Excel 2021 koji podržavaju dinamičke nizove.

    Za generiranje raspona nasumičnih brojeva bezponavljanja, možete koristiti ovu formulu:

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

    Gdje je:

    • n broj ćelija koje treba ispuniti. Kako biste izbjegli ručne izračune, možete ga unijeti kao (br. redaka * br. stupaca). Na primjer, za popunjavanje 10 redaka i 5 stupaca upotrijebite 50^2 ili (10*5)^2.
    • Reci predstavljaju broj redaka koje treba ispuniti.
    • Stupci je broj stupaca za popunjavanje.
    • Min je najmanja vrijednost.
    • Max je najveća vrijednost.

    Kao što možete primijetiti, formula je u osnovi ista kao u prethodnom primjeru. Jedina razlika je funkcija SEQUENCE, koja u ovom slučaju definira i broj redaka i stupaca.

    Na primjer, da biste ispunili raspon od 10 redaka i 3 stupca jedinstvenim nasumičnim brojevima od 1 do 100, upotrijebite ovu formulu:

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

    I proizvest će niz slučajnih decimala bez ponavljanja brojeva:

    Ako trebate cijele brojeve, postavite zadnji argument RANDARRAY na TRUE :

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

    Kako generirati jedinstvene nasumične brojeve u programu Excel 2019, 2016 i ranijim verzijama

    Budući da nijedna verzija osim programa Excel 365 i 2021 ne podržava dinamičke nizove, ništa od navedenog rješenja rade u ranijim verzijama Excela. Međutim, to ne znači da uopće nema rješenja, samo ćete morati izvršiti još nekoliko koraka:

    1. Stvorite popis nasumičnih brojeva. Na temelju vašegpotrebama, upotrijebite ili:
      • funkciju RAND za generiranje nasumičnih decimala između 0 i 1 ili
      • funkciju RANDBETWEEN za proizvodnju nasumičnih cijelih brojeva u rasponu koji navedete.

      Pazite da generirate više vrijednosti nego što vam je zapravo potrebno jer će neke biti duplikati i kasnije ćete ih izbrisati.

      Za ovaj primjer, stvaramo popis od 10 nasumičnih cijelih brojeva između 1 i 20 prema pomoću formule u nastavku:

      =RANDBETWEEN(1,20)

      Za unos formule u više ćelija odjednom, odaberite sve ćelije (A2:A15 u našem primjeru), upišite formulu u traku formule i pritisnite Ctrl + Enter. Ili možete unijeti formulu u prvu ćeliju kao i obično, a zatim je povući prema dolje na onoliko ćelija koliko je potrebno.

      U svakom slučaju, rezultat će izgledati otprilike ovako:

      Kako možete primijetite, unijeli smo formulu u 14 ćelija, iako nam na kraju treba samo 10 jedinstvenih nasumičnih brojeva.

    2. Promijeni formule u vrijednosti. Kako se i RAND i RANDBETWEEN ponovno izračunavaju sa svakom promjenom na radnom listu, vaš će se popis nasumičnih brojeva neprestano mijenjati. Kako biste spriječili da se to dogodi, koristite Posebno lijepljenje > Vrijednosti za pretvaranje formula u vrijednosti kao što je objašnjeno u Kako spriječiti ponovno izračunavanje nasumičnih brojeva.

      Kako biste bili sigurni da ste to učinili kako treba, odaberite bilo koji broj i pogledajte traku formule. Sada bi trebao prikazati vrijednost, a ne formulu:

    3. Izbriši duplikate. Imati gagotovo, odaberite sve brojeve, idite na karticu Podaci > Podatkovni alati grupu i kliknite Ukloni duplikate . U dijaloškom okviru Ukloni duplikate koji se pojavi jednostavno kliknite OK bez promjene bilo čega. Za detaljne korake pogledajte Kako ukloniti duplikate u Excelu.

    Gotovo! Svi duplikati su nestali i sada možete izbrisati višak brojeva.

    Savjet. Umjesto ugrađenog alata programa Excel, možete koristiti naš napredni alat za uklanjanje duplikata za Excel.

    Kako spriječiti promjenu nasumičnih brojeva

    Sve funkcije nasumičnog odabira u programu Excel uključujući RAND, RANDBETWEEN i RANDARRAY su nepostojani, što znači da se ponovno izračunavaju svaki put kada se proračunska tablica promijeni. Kao rezultat, nove slučajne vrijednosti proizvode se sa svakom promjenom. Kako biste spriječili automatsko generiranje novih brojeva, koristite Paste Special > Značajka vrijednosti za zamjenu formula statičkim vrijednostima. Evo kako:

    1. Odaberite sve ćelije sa svojom nasumičnom formulom i pritisnite Ctrl + C da ih kopirate.
    2. Desnom tipkom kliknite odabrani raspon i kliknite Posebno zalijepi > Vrijednosti . Alternativno, možete pritisnuti Shift + F10, a zatim V , što je prečac za ovu opciju.

    Za detaljne korake pogledajte Kako promijeniti formule u vrijednosti u Excelu.

    Generator slučajnih brojeva za Excel bez ponavljanja

    Korisnici našeg Ultimate Suitea zapravo ne trebaju nijedno od gore navedenih rješenja jerveć imaju univerzalni Random Generator u svom Excelu. Ovaj alat može lako proizvesti popis cijelih brojeva koji se ne ponavljaju, decimalnih brojeva, datuma i jedinstvenih lozinki. Evo kako:

    1. Na kartici Alatebits Tools kliknite Randomize > Random Generator .
    2. Odaberite raspon za popunjavanje nasumičnim brojevima.
    3. U oknu Generator slučajnih brojeva učinite sljedeće:
      • Odaberite željenu vrstu vrijednosti: cijeli broj, realni broj, datum, Booleov , prilagođeni popis ili niz (idealno za generiranje jakih jedinstvenih zaporki!).
      • Postavite vrijednosti Od i Do .
      • Odaberite Potvrdni okvir Jedinstvene vrijednosti .
      • Kliknite Generiraj .

    To je to! Odabrani raspon odjednom se popunjava nasumičnim brojevima koji se ne ponavljaju:

    Ako ste znatiželjni isprobati ovaj alat i istražiti druge fascinantne značajke uključene u naš Ultimate Suite, slobodno možete preuzeti probnu verziju.

    Evo kako nasumično raspoređivati ​​brojeve u Excelu bez duplikata. Zahvaljujem vam na čitanju i nadam se da se vidimo na našem blogu sljedeći tjedan!

    Vježbe za preuzimanje

    Generirajte jedinstvene slučajne brojeve u Excelu (.xlsx datoteka)

    Michael Brown predani je tehnološki entuzijast sa strašću za pojednostavljivanjem složenih procesa pomoću softverskih alata. S više od desetljeća iskustva u tehnološkoj industriji, usavršio je svoje vještine u Microsoft Excelu i Outlooku, kao i Google tablicama i dokumentima. Michaelov blog posvećen je dijeljenju znanja i stručnosti s drugima, pružajući savjete i upute koje je lako slijediti za poboljšanje produktivnosti i učinkovitosti. Bez obzira jeste li iskusni profesionalac ili početnik, Michaelov blog nudi vrijedne uvide i praktične savjete za izvlačenje maksimuma iz ovih osnovnih softverskih alata.