Obsah
V tomto článku sa budeme venovať niekoľkým rôznym vzorcom na náhodné generovanie v programe Excel bez opakovania čísel. Ukážeme si aj univerzálny generátor náhodných čísel, ktorý dokáže vytvoriť zoznam náhodných čísel, dátumov a reťazcov bez opakovania.
Ako pravdepodobne viete, program Microsoft Excel má niekoľko funkcií na generovanie náhodných čísel, napríklad RAND, RANDBETWEEN a RANDARRAY. Neexistuje však žiadna záruka, že výsledok akejkoľvek funkcie bude bez duplikátov.
Tento návod vysvetľuje niekoľko vzorcov na vytvorenie zoznamu jedinečných náhodných čísel. Dávajte pozor na to, že niektoré vzorce fungujú len v najnovšej verzii programu Excel 365 a 2021, zatiaľ čo iné môžete použiť v akejkoľvek verzii programu Excel 2019, Excel 2016, Excel 2013 a starších.
Získanie zoznamu jedinečných náhodných čísel s preddefinovaným krokom
Funguje len v aplikáciách Excel 365 a Excel 2021, ktoré podporujú dynamické polia.
Ak máte najnovšiu verziu programu Excel, najjednoduchšie získate zoznam jedinečných náhodných čísel je spojiť 3 nové funkcie dynamických polí: SORTBY, SEQUENCE a RANDARRAY:
SORTBY(SEKVENCIA( n ), RANDARRAY( n ))Kde n je počet náhodných hodnôt, ktoré chcete získať.
Ak chcete napríklad vytvoriť zoznam 5 náhodných čísel, použite 5 pre n :
=SORTBY(SEQUENCE(5), RANDARRAY(5))
Zadajte vzorec do najvrchnejšej bunky, stlačte kláves Enter a výsledky sa automaticky rozlejú na zadaný počet buniek.
Ako vidíte na obrázku nižšie, tento vzorec v skutočnosti zoradí čísla od 1 do 5 v náhodnom poradí Ak potrebujete klasický generátor náhodných čísel bez opakovania, pozrite si ďalšie príklady, ktoré nasledujú nižšie.
Vo vyššie uvedenom vzorci definujete iba počet riadkov, ktoré sa majú vyplniť. Všetky ostatné argumenty sú ponechané na svojich predvolených hodnotách, čo znamená, že zoznam začne od čísla 1 a bude sa zvyšovať o 1. Ak chcete iné prvé číslo a prírastok, potom nastavte vlastné hodnoty pre 3. ( spustenie ) a 4. ( krok ) argumentov funkcie SEQUENCE.
Ak chcete napríklad začať od hodnoty 100 a zvýšiť ju o 10, použite tento vzorec:
=SORTBY(SEQUENCE(5, , 100, 10), RANDARRAY(5))
Ako tento vzorec funguje:
Tento vzorec funguje zvnútra von:
- Funkcia SEQUENCE vytvorí pole sekvenčných čísel na základe zadanej alebo predvolenej počiatočnej hodnoty a inkrementujúcej veľkosti kroku. pole argument SORTBY.
- Funkcia RANDARRAY vytvorí pole náhodných čísel rovnakej veľkosti ako sekvencia (v našom prípade 5 riadkov, 1 stĺpec). Na minimálnej a maximálnej hodnote nezáleží, takže ich môžeme ponechať ako predvolené. by_array argument SORTBY.
- Funkcia SORTBY triedi sekvenčné čísla generované funkciou SEQUENCE pomocou poľa náhodných čísel vytvoreného funkciou RANDARRAY.
Majte na pamäti, že tento jednoduchý vzorec vytvára zoznam neopakujúcich sa náhodných čísel s preddefinovaný krok Ak chcete toto obmedzenie obísť, použite rozšírenú verziu vzorca opísanú nižšie.
Generovanie zoznamu náhodných čísel bez duplikátov
Funguje len v aplikáciách Excel 365 a Excel 2021, ktoré podporujú dynamické polia.
Ak chcete v programe Excel generovať náhodné čísla bez duplikátov, použite jeden z nasledujúcich všeobecných vzorcov.
Náhodné celé čísla :
INDEX(UNIQUE(RANDARRAY( n ^2, 1, min , max , TRUE)), SEQUENCE( n ))Náhodné desatinné čísla :
INDEX(UNIQUE(RANDARRAY( n ^2, 1, min , max , FALSE)), SEQUENCE( n ))Kde:
- N je počet hodnôt, ktoré sa majú vygenerovať.
- Min je minimálna hodnota.
- Max je maximálna hodnota.
Ak chcete napríklad vytvoriť zoznam 5 náhodné celé čísla od 1 do 100 bez opakovania, použite tento vzorec:
=INDEX(UNIQUE(RANDARRAY(5^2, 1, 1, 100, TRUE)), SEQUENCE(5))
Generovanie 5 jedinečných náhodných desatinné čísla , do posledného argumentu RANDARRAY vložte FALSE alebo tento argument vynechajte:
=INDEX(UNIQUE(RANDARRAY(5^2, 1, 1, 100)), SEQUENCE(5))
Ako tento vzorec funguje:
Na prvý pohľad môže vzorec vyzerať trochu zložito, ale pri bližšom pohľade je jeho logika veľmi jednoduchá:
- Funkcia RANDARRAY vytvorí pole náhodných čísel na základe zadaných minimálnych a maximálnych hodnôt. Ak chcete určiť, koľko hodnôt sa má vygenerovať, zvýšite požadovaný počet unikátov na mocninu 2. Keďže výsledné pole môže mať nevedno koľko duplikátov, musíte poskytnúť dostatočné pole hodnôt, z ktorých si UNIQUE vyberie. V tomto príklade potrebujeme len 5 unikátovnáhodných čísel, ale zadáme príkaz RANDARRAY, aby vytvoril 25 (5^2).
- Funkcia UNIQUE odstráni všetky duplikáty a "dodá" do INDEXu pole bez duplikátov.
- Z poľa odovzdaného funkciou UNIQUE funkcia INDEX vyberie prvý n hodnoty podľa zadania SEQUENCE (v našom prípade 5 čísel). Keďže hodnoty sú už v náhodnom poradí, nezáleží na tom, ktoré z nich prežijú.
Poznámka: Pri veľmi veľkých poliach môže byť tento vzorec trochu pomalý. Napríklad na získanie zoznamu 1 000 jedinečných čísel ako konečného výsledku by RANDARRAY musel interne vygenerovať pole 1 000 000 náhodných čísel (1000^2). V takýchto situáciách môžete namiesto zvyšovania na mocniny vynásobiť n napríklad o 10 alebo 20. Len majte prosím na pamäti, že čím menšie pole sa odovzdá funkcii UNIQUE (malé vzhľadom na požadovaný počet jedinečných náhodných hodnôt), tým väčšia je šanca, že nie všetky bunky v rozsahu vyliatia budú vyplnené výsledkami.
Vytvorenie rozsahu neopakujúcich sa náhodných čísel v programe Excel
Funguje len v aplikáciách Excel 365 a Excel 2021, ktoré podporujú dynamické polia.
Ak chcete vygenerovať rozsah náhodných čísel bez opakovania, môžete použiť tento vzorec:
INDEX(UNIQUE(RANDARRAY( n ^2, 1, min , max )), SEQUENCE( riadky , stĺpce ))Kde:
- n je počet buniek, ktoré sa majú vyplniť. Aby ste sa vyhli ručným výpočtom, môžete ho zadať ako (počet riadkov * počet stĺpcov). Napríklad na vyplnenie 10 riadkov a 5 stĺpcov použite 50^2 alebo (10*5)^2.
- Riadky je počet riadkov, ktoré sa majú vyplniť.
- Stĺpce je počet stĺpcov, ktoré sa majú vyplniť.
- Min je najnižšia hodnota.
- Max je najvyššia hodnota.
Ako ste si mohli všimnúť, vzorec je v podstate rovnaký ako v predchádzajúcom príklade. Jediným rozdielom je funkcia SEQUENCE, ktorá v tomto prípade definuje počet riadkov aj stĺpcov.
Ak chcete napríklad vyplniť rozsah 10 riadkov a 3 stĺpcov jedinečnými náhodnými číslami od 1 do 100, použite tento vzorec:
=INDEX(UNIQUE(RANDARRAY(30^2, 1, 1, 100)), SEQUENCE(10, 3))
A vytvorí pole náhodných desatinných čísel bez opakujúcich sa čísel:
Ak potrebujete celé čísla, nastavte posledný argument RANDARRAY na TRUE:
=INDEX(UNIQUE(RANDARRAY(30^2, 1, 1, 100, TRUE)), SEQUENCE(10,3))
Ako generovať jedinečné náhodné čísla v aplikácii Excel 2019, 2016 a starších
Keďže žiadna iná verzia ako Excel 365 a 2021 nepodporuje dynamické polia, žiadne z uvedených riešení nefunguje v starších verziách Excelu. To však neznamená, že neexistuje žiadne riešenie, len budete musieť vykonať niekoľko ďalších krokov:
- Vytvorte zoznam náhodných čísel. Na základe svojich potrieb použite buď:
- Funkcia RAND na generovanie náhodných desatinných čísel od 0 do 1 alebo
- Funkcia RANDBETWEEN na vytvorenie náhodných celých čísel v zadanom rozsahu.
Uistite sa, že ste vygenerovali viac hodnôt, ako skutočne potrebujete, pretože niektoré budú duplicitné a neskôr ich odstránite.
V tomto príklade vytvoríme zoznam 10 náhodných celých čísel od 1 do 20 pomocou nižšie uvedeného vzorca:
=RANDBETWEEN(1,20)
Ak chcete vzorec zadať do viacerých buniek naraz, vyberte všetky bunky (v našom príklade A2:A15), zadajte vzorec do panela vzorcov a stlačte klávesovú skratku Ctrl + Enter . Alebo môžete vzorec zadať do prvej bunky ako zvyčajne a potom ho pretiahnuť do toľkých buniek, koľko potrebujete.
Výsledok bude vyzerať približne takto:
Ako ste si mohli všimnúť, vzorec sme zadali do 14 buniek, hoci nakoniec potrebujeme len 10 jedinečných náhodných čísel.
- Zmena vzorcov na hodnoty. Keďže RAND aj RANDBETWEEN sa prepočítavajú pri každej zmene na pracovnom hárku, váš zoznam náhodných čísel sa bude neustále meniť. Vložiť špeciálne> Hodnoty na prevod vzorcov na hodnoty, ako je vysvetlené v časti Ako zastaviť prepočítavanie náhodných čísel.
Ak sa chcete uistiť, že ste to urobili správne, vyberte ľubovoľné číslo a pozrite sa na panel vzorca. Teraz by sa mala zobrazovať hodnota, nie vzorec:
- Odstrániť duplikáty. Ak to chcete urobiť, vyberte všetky čísla, prejdite na Údaje karta> Dátové nástroje a kliknite na tlačidlo Odstránenie duplikátov V Odstránenie duplikátov Dialógové okno, ktoré sa zobrazí, jednoducho kliknite na tlačidlo OK bez toho, aby ste čokoľvek zmenili. Podrobný postup nájdete v časti Ako odstrániť duplikáty v programe Excel.
Hotovo! Všetky duplikáty sú odstránené a teraz môžete odstrániť prebytočné čísla.
Tip: Namiesto vstavaného nástroja programu Excel môžete použiť náš pokročilý nástroj na odstraňovanie duplikátov pre program Excel.
Ako zastaviť zmenu náhodných čísel
Všetky náhodné funkcie v programe Excel vrátane funkcií RAND, RANDBETWEEN a RANDARRAY sú nestále, čo znamená, že sa prepočítavajú pri každej zmene tabuľky. Výsledkom je, že pri každej zmene sa vytvárajú nové náhodné hodnoty. Ak chcete zabrániť automatickému generovaniu nových čísel, použite funkciu Vložiť špeciálne> hodnoty na nahradenie vzorcov statickými hodnotami:
- Vyberte všetky bunky s náhodným vzorcom a stlačením klávesovej skratky Ctrl + C ich skopírujte.
- Kliknite pravým tlačidlom myši na vybraný rozsah a kliknite na Vložiť špeciálne > Hodnoty Prípadne môžete stlačiť klávesovú skratku Shift + F10 a potom V , čo je skratka pre túto možnosť.
Podrobný postup nájdete v časti Ako zmeniť vzorce na hodnoty v programe Excel.
Generátor náhodných čísel pre Excel bez opakovania
Používatelia nášho balíka Ultimate Suite v skutočnosti nepotrebujú žiadne z uvedených riešení, pretože už majú vo svojom programe Excel univerzálny generátor náhodných čísel. Tento nástroj dokáže jednoducho vytvoriť zoznam neopakujúcich sa celých čísel, desatinných čísel, dátumov a jedinečných hesiel. Tu je návod, ako na to:
- Na Nástroje Ablebits kliknite na kartu Náhodný výber > Náhodný generátor .
- Vyberte rozsah, ktorý chcete vyplniť náhodnými číslami.
- Na Náhodný generátor vykonajte nasledujúce kroky:
- Vyberte požadovaný typ hodnoty: celé číslo, reálne číslo, dátum, logické číslo, vlastný zoznam alebo reťazec (ideálne na generovanie silných jedinečných hesiel!).
- Nastavenie Z adresy a Na hodnoty.
- Vyberte Jedinečné hodnoty začiarkavacie políčko.
- Kliknite na . Generovať .
A je to! Vybraný rozsah sa naraz vyplní neopakujúcimi sa náhodnými číslami:
Ak ste zvedaví, či si tento nástroj môžete vyskúšať a preskúmať ďalšie fascinujúce funkcie, ktoré sú súčasťou nášho balíka Ultimate Suite, môžete si stiahnuť skúšobnú verziu.
To je spôsob, ako náhodne zadať čísla v programe Excel bez duplikátov. Ďakujem vám za prečítanie a dúfam, že sa uvidíme na našom blogu budúci týždeň!
Cvičebnica na stiahnutie
Generovanie jedinečných náhodných čísel v programe Excel (.xlsx súbor)