Kako generirati nasumične brojeve u Excelu bez ponavljanja

  • Podijeli Ovo
Michael Brown

U ovom članku ćemo raspravljati o nekoliko različitih formula za nasumično randomiziranje u Excelu bez ponavljanja brojeva. Također, pokazat ćemo vam univerzalni Random Generator koji može proizvesti listu nasumičnih 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, ne postoji garancija da će rezultat bilo koje funkcije biti bez duplikata.

Ovaj vodič objašnjava nekoliko formula za kreiranje liste jedinstvenih slučajnih brojeva. Obratite pažnju 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 ranijim verzijama.

    Nabavite lista jedinstvenih nasumičnih brojeva s unaprijed definiranim korakom

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

    Ako imate najnoviju verziju Excela, najlakše je način da dobijete listu jedinstvenih slučajnih brojeva je da kombinujete 3 nove funkcije dinamičkog niza: SORTBY, SEQUENCE i RANDARRAY:

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

    Gdje je n broj nasumičnih vrijednosti koje želite dobiti.

    Na primjer, da kreirate listu od 5 nasumičnih brojeva, koristite 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 slučajnim redoslijedom . Ako vam je potreban klasični generator slučajnih brojeva bez ponavljanja, pogledajte druge primjere koji slijede u nastavku.

    U gornjoj formuli samo definirate koliko redova treba popuniti. Svi ostali argumenti su ostavljeni na njihove zadane vrijednosti, što znači da će lista početi od 1 i biti povećana za 1. Ako želite drugačiji prvi broj i inkrement, postavite vlastite vrijednosti za 3. ( start ) i 4. ( korak ) argumente funkcije SEQUENCE.

    Na primjer, da biste započeli od 100 i povećali za 10, koristite ovu formulu:

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

    Kako ova formula funkcionira:

    Radi iznutra prema van, evo šta radi formula:

    • Funkcija SEQUENCE kreira niz sekvencijalni brojevi zasnovani na specificiranoj ili zadanoj početnoj vrijednosti i rastućoj veličini koraka. Ova sekvenca ide u argument array SORTBY.
    • Funkcija RANDARRAY kreira niz slučajnih brojeva iste veličine kao sekvenca (5 redova, 1 stupac u našem slučaju). Minimalna i maksimalna vrijednost zapravo nisu bitne, tako da ih možemo ostaviti na zadane vrijednosti. Ovaj niz ide u argument by_array SORTBY.
    • Funkcija SORTBY sortira sekvencijalne brojeve koje generiše SEQUENCE koristeći niz slučajnih brojeva koje proizvodiRANDARRAY.

    Imajte na umu da ova jednostavna formula kreira listu slučajnih brojeva koji se ne ponavljaju sa predefiniranim korakom . Da biste zaobišli ovo ograničenje, koristite naprednu verziju formule opisane u nastavku.

    Generirajte listu nasumičnih brojeva bez duplikata

    Radi samo u Excel 365 i Excel 2021 koji podržavaju dinamičku nizovi.

    Da biste generirali nasumične brojeve u Excelu bez duplikata, koristite jednu od donjih generičkih formula.

    Slučajni cijeli brojevi :

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

    Slučajne 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, da kreirate listu od 5 slučajnih cijelih brojeva od 1 do 100 bez ponavljanja, koristite ovu formulu:

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

    Da biste generirali 5 jedinstvenih slučajnih decimalnih brojeva , stavite FALSE u posljednji 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 zeznuta, ali kada se bolje pogleda njena logika je vrlo jasna:

    • Funkcija RANDARRAY kreira niz slučajnih brojeva na osnovu minimalnih i maksimalnih vrijednosti koje odredite. Da odredite koliko vrijednosti trebagenerišete, podižete željeni broj unikatnih jedinica na stepen 2. Budući da rezultujući niz možda ima niko ne zna koliko duplikata, morate da obezbedite dovoljan niz vrednosti za UNIQUE da birate. U ovom primjeru, potrebno nam je samo 5 jedinstvenih nasumičnih brojeva, ali mi upućujemo RANDARRAY-u da proizvede 25 (5^2).
    • Funkcija UNIQUE uklanja sve duplikate i "hrani" niz bez duplikata u INDEX.
    • Iz niza koji je proslijedio UNIQUE, funkcija INDEX izdvaja prve n vrijednosti kao što je navedeno u SEQUENCE (5 brojeva u našem slučaju). Budući da su vrijednosti već u nasumičnom redoslijedu, zapravo nije važno koje će preživjeti.

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

    Kreirajte raspon slučajnih brojeva koji se ne ponavljaju u Excelu

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

    Za generiranje raspona slučajnih brojeva bezponavljanja, možete koristiti ovu formulu:

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

    Gdje je:

    • n broj ćelija koje treba popuniti. Da biste izbjegli ručne proračune, možete ga dostaviti kao (br. redova * br. kolona). Na primjer, da popunite 10 redova i 5 stupaca, koristite 50^2 ili (10*5)^2.
    • Redovi je broj redova koje treba popuniti.
    • Kolone je broj kolona koje treba popuniti.
    • Min je najniža vrijednost.
    • Max je najveća vrijednost.

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

    Na primjer, da biste popunili raspon od 10 redaka i 3 stupca jedinstvenim slučajnim brojevima od 1 do 100, koristite ova formula:

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

    I ona će proizvesti niz nasumičnih decimala bez ponavljanja brojeva:

    Ako su vam potrebni cijeli brojevi, onda postavite posljednji argument RANDARRAY na TRUE :

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

    Kako generirati jedinstvene slučajne brojeve u Excelu 2019, 2016 i ranijim verzijama

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

    1. Kreirajte listu nasumičnih brojeva. Na osnovu vašegpotrebe, koristite 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.

      Budite sigurni da ste generirali više vrijednosti nego što vam je stvarno potrebno jer će neke biti duplikati i kasnije ćete ih izbrisati.

      Za ovaj primjer, kreiramo listu od 10 nasumičnih cijelih brojeva između 1 i 20 prema koristeći formulu u nastavku:

      =RANDBETWEEN(1,20)

      Da biste unijeli formulu 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 dolje na onoliko ćelija koliko je potrebno.

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

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

    2. Promijenite formule u vrijednosti. Kako se i RAND i RANDBETWEEN ponovo izračunavaju sa svakom promjenom na radnom listu, vaša lista nasumičnih brojeva će se stalno mijenjati. Da se to ne dogodi, koristite Specijalno lijepljenje > Vrijednosti za pretvaranje formula u vrijednosti kao što je objašnjeno u Kako zaustaviti ponovno izračunavanje slučajnih brojeva.

      Da 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. Da ga imamGotovo, odaberite sve brojeve, idite na karticu Podaci > Alatke za podatke grupu i kliknite na Ukloni duplikate . U dijaloškom okviru Ukloni duplikate koji se pojavi, jednostavno kliknite na 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 Excel-ovog ugrađenog alata, možete koristiti naš napredni alat za uklanjanje duplikata za Excel.

    Kako spriječiti promjenu slučajnih brojeva

    Sve funkcije nasumice u Excelu uključujući RAND, RANDBETWEEN i RANDARRAY su promjenjivi, što znači da se ponovo izračunavaju svaki put kada se promijeni tabela. Kao rezultat, nove nasumične vrijednosti se proizvode sa svakom promjenom. Da biste spriječili automatsko generiranje novih brojeva, koristite Specijalno lijepljenje > Funkcija 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. Kliknite desnom tipkom miša na odabrani raspon i kliknite na Specijalno zalijepi > Vrijednosti . Alternativno, možete pritisnuti Shift + F10, a zatim V , što je prečica za ovu opciju.

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

    Generator slučajnih brojeva za Excel bez ponavljanja

    Korisnicima našeg Ultimate Suite-a zapravo nije potrebno nijedno od gore navedenih rješenja jerveć imaju univerzalni Random Generator u svom Excelu. Ovaj alat može lako proizvesti listu neponavljajućih cijelih brojeva, decimalnih brojeva, datuma i jedinstvenih lozinki. Evo kako:

    1. Na kartici Alati Ablebits kliknite na Randomize > Random Generator .
    2. Odaberi raspon koji treba popuniti slučajnim brojevima.
    3. U oknu Random Generator uradite sljedeće:
      • Odaberite željeni tip vrijednosti: cijeli broj, realni broj, datum, Boolean , prilagođenu listu ili niz (idealno za generiranje jakih jedinstvenih lozinki!).
      • Postavite vrijednosti Od i Do .
      • Odaberite Potvrdni okvir Jedinstvene vrijednosti .
      • Kliknite na Generiraj .

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

    Ako ste radoznali da isprobate ovaj alat i istražite druge fascinantne funkcije uključene u naš Ultimate Suite, dobrodošli ste da preuzmete probnu verziju.

    Eto kako nasumično rasporediti brojeve u Excelu bez duplikata. Zahvaljujem vam što čitate i nadam se da se vidimo na našem blogu sljedeće sedmice!

    Vježbajte radnu svesku za preuzimanje

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

    Michael Brown je posvećen tehnološki entuzijasta sa strašću za pojednostavljenje složenih procesa pomoću softverskih alata. Sa više od decenije iskustva u tehnološkoj industriji, usavršio je svoje vještine u Microsoft Excelu i Outlooku, kao i Google Sheets i Docs. Michaelov blog je posvećen dijeljenju svog znanja i stručnosti s drugima, pružajući jednostavne savjete i tutorijale za poboljšanje produktivnosti i efikasnosti. Bilo da ste iskusni profesionalac ili početnik, Michaelov blog nudi vrijedne uvide i praktične savjete za izvlačenje maksimuma iz ovih osnovnih softverskih alata.