Jak generovat náhodná čísla v aplikaci Excel bez opakování

  • Sdílet Toto
Michael Brown

V tomto článku probereme několik různých vzorců pro náhodné generování v aplikaci Excel bez opakování čísel. Také si ukážeme univerzální generátor náhodných čísel, který dokáže vytvořit seznam náhodných čísel, dat a řetězců bez opakování.

Jak pravděpodobně víte, Microsoft Excel má několik funkcí pro generování náhodných čísel, například RAND, RANDBETWEEN a RANDARRAY. Neexistuje však žádná záruka, že výsledek jakékoli funkce bude bez duplicit.

Tento návod vysvětluje několik vzorců pro vytvoření seznamu jedinečných náhodných čísel. Věnujte prosím pozornost tomu, že některé vzorce fungují pouze v nejnovější verzi aplikace Excel 365 a 2021, zatímco jiné lze použít v libovolné verzi aplikace Excel 2019, Excel 2016, Excel 2013 a starší.

    Získání seznamu jedinečných náhodných čísel s předdefinovaným krokem

    Funguje pouze v aplikacích Excel 365 a Excel 2021, které podporují dynamická pole.

    Pokud máte nejnovější verzi aplikace Excel, nejjednodušší způsob, jak získat seznam jedinečných náhodných čísel je kombinovat 3 nové funkce dynamických polí: SORTBY, SEQUENCE a RANDARRAY:

    SORTBY(SEKVENCE( n ), RANDARRAY( n ))

    Kde: n je počet náhodných hodnot, které chcete získat.

    Chcete-li například vytvořit seznam 5 náhodných čísel, použijte 5 pro. n :

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

    Zadejte vzorec do nejvyšší buňky, stiskněte klávesu Enter a výsledky se automaticky přelijí přes zadaný počet buněk.

    Jak vidíte na obrázku níže, tento vzorec ve skutečnosti seřadí čísla od 1 do 5 v náhodném pořadí. Pokud potřebujete klasický generátor náhodných čísel bez opakování, podívejte se na další příklady, které následují níže.

    Ve výše uvedeném vzorci určujete pouze počet řádků, které se mají vyplnit. Všechny ostatní argumenty jsou ponechány na výchozích hodnotách, což znamená, že seznam bude začínat na 1 a bude inkrementován po 1. Pokud chcete jiné první číslo a inkrementaci, pak nastavte vlastní hodnoty pro 3. ( začít ) a 4. ( krok ) argumentů funkce SEQUENCE.

    Chcete-li například začít od hodnoty 100 a zvýšit ji o 10, použijte tento vzorec:

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

    Jak tento vzorec funguje:

    Tento vzorec funguje zevnitř ven:

    • Funkce SEQUENCE vytvoří pole sekvenčních čísel na základě zadané nebo výchozí počáteční hodnoty a rostoucí velikosti kroku. pole argument SORTBY.
    • Funkce RANDARRAY vytvoří pole náhodných čísel o stejné velikosti, jakou má posloupnost (v našem případě 5 řádků, 1 sloupec). Na min. a max. hodnotě nezáleží, takže je můžeme ponechat na výchozích hodnotách. Toto pole přejde do pole by_array argument SORTBY.
    • Funkce SORTBY seřadí sekvenční čísla generovaná funkcí SEQUENCE pomocí pole náhodných čísel vytvořeného funkcí RANDARRAY.

    Mějte prosím na paměti, že tento jednoduchý vzorec vytváří seznam neopakujících se náhodných čísel s a. předdefinovaný krok Chcete-li toto omezení obejít, použijte pokročilou verzi vzorce popsanou níže.

    Generování seznamu náhodných čísel bez duplicit.

    Funguje pouze v aplikacích Excel 365 a Excel 2021, které podporují dynamická pole.

    Chcete-li v aplikaci Excel generovat náhodná čísla bez duplicit, použijte jeden z níže uvedených obecných vzorců.

    Náhodná celá čísla :

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

    Náhodná desetinná čísla :

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

    Kde:

    • N je počet hodnot, které se mají vygenerovat.
    • Min je minimální hodnota.
    • Max je maximální hodnota.

    Chcete-li například vytvořit seznam 5 náhodná celá čísla od 1 do 100 bez opakování, použijte tento vzorec:

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

    Generování 5 jedinečných náhodných desetinná čísla , vložte do posledního argumentu RANDARRAY hodnotu FALSE nebo tento argument vynechejte:

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

    Jak tento vzorec funguje:

    Na první pohled může vzorec vypadat trochu složitě, ale při bližším pohledu je jeho logika velmi jednoduchá:

    • Funkce RANDARRAY vytvoří pole náhodných čísel na základě zadaných minimálních a maximálních hodnot. Chcete-li určit, kolik hodnot se má vygenerovat, zvýšíte požadovaný počet unikátů na mocninu 2. Protože výsledné pole může mít nevím kolik duplicit, je třeba poskytnout dostatečné pole hodnot, ze kterých bude UNIQUE vybírat. V tomto příkladu potřebujeme pouze 5 unikátů.náhodných čísel, ale zadáme RANDARRAY, aby vytvořil 25 (5^2).
    • Funkce UNIQUE odstraní všechny duplikáty a "dodá" do INDEXu pole bez duplikátů.
    • Funkce INDEX z pole předaného funkcí UNIQUE vybere první položku. n hodnoty podle zadání SEQUENCE (v našem případě 5 čísel). Protože hodnoty jsou již v náhodném pořadí, nezáleží na tom, které z nich přežijí.

    Poznámka: U velmi velkých polí může být tento vzorec poněkud pomalý. Například pro získání seznamu 1 000 jedinečných čísel jako konečného výsledku by RANDARRAY musel interně vygenerovat pole 1 000 000 náhodných čísel (1000^2). V takových situacích můžete místo zvyšování na mocniny násobit. n řekněme o 10 nebo 20. Jen mějte prosím na paměti, že čím menší pole je předáno funkci UNIQUE (malé vzhledem k požadovanému počtu unikátních náhodných hodnot), tím větší je šance, že ne všechny buňky ve vysypaném rozsahu budou vyplněny výsledky.

    Vytvoření rozsahu neopakujících se náhodných čísel v aplikaci Excel

    Funguje pouze v aplikacích Excel 365 a Excel 2021, které podporují dynamická pole.

    Chcete-li vygenerovat řadu náhodných čísel bez opakování, můžete použít tento vzorec:

    INDEX(UNIQUE(RANDARRAY( n ^2, 1, min , max )), SEQUENCE( řádky , sloupce ))

    Kde:

    • n je počet buněk, které se mají vyplnit. Abyste se vyhnuli ručním výpočtům, můžete jej zadat jako (počet řádků * počet sloupců). Chcete-li například vyplnit 10 řádků a 5 sloupců, použijte 50^2 nebo (10*5)^2.
    • Řádky je počet řádků, které se mají vyplnit.
    • Sloupce je počet sloupců, které se mají vyplnit.
    • Min je nejnižší hodnota.
    • Max je nejvyšší hodnota.

    Jak si můžete všimnout, vzorec je v podstatě stejný jako v předchozím příkladu. Jediným rozdílem je funkce SEQUENCE, která v tomto případě definuje počet řádků i sloupců.

    Chcete-li například vyplnit rozsah 10 řádků a 3 sloupců jedinečnými náhodnými čísly od 1 do 100, použijte tento vzorec:

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

    A vytvoří pole náhodných desetinných čísel bez opakujících se čísel:

    Pokud potřebujete celá čísla, nastavte poslední argument RANDARRAY na hodnotu TRUE:

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

    Jak vygenerovat jedinečná náhodná čísla v aplikaci Excel 2019, 2016 a dřívějších verzích

    Protože žádná jiná verze než Excel 365 a 2021 nepodporuje dynamická pole, žádné z výše uvedených řešení nefunguje ve starších verzích aplikace Excel. To však neznamená, že neexistuje žádné řešení, jen budete muset provést několik dalších kroků:

    1. Vytvořte seznam náhodných čísel. Podle svých potřeb použijte buď:
      • Funkce RAND pro generování náhodných desetinných čísel v rozsahu 0 až 1 nebo
      • Funkce RANDBETWEEN pro vytvoření náhodných celých čísel v zadaném rozsahu.

      Ujistěte se, že jste vygenerovali více hodnot, než skutečně potřebujete, protože některé budou duplicitní a později je odstraníte.

      V tomto příkladu vytvoříme seznam 10 náhodných celých čísel v rozsahu 1 až 20 pomocí níže uvedeného vzorce:

      =RANDBETWEEN(1,20)

      Chcete-li vzorec zadat do více buněk najednou, vyberte všechny buňky (v našem příkladu A2:A15), zadejte vzorec do řádku vzorců a stiskněte klávesy Ctrl + Enter . Nebo můžete vzorec zadat do první buňky jako obvykle a pak jej přetáhnout dolů do tolika buněk, kolik potřebujete.

      Výsledek bude vypadat asi takto:

      Jak si můžete všimnout, vzorec jsme zadali do 14 buněk, ačkoli nakonec potřebujeme pouze 10 jedinečných náhodných čísel.

    2. Změna vzorců na hodnoty. Protože se vzorce RAND i RANDBETWEEN přepočítávají při každé změně na pracovním listu, váš seznam náhodných čísel se bude neustále měnit. Vložit speciální> hodnoty převést vzorce na hodnoty, jak je vysvětleno v části Jak zabránit přepočítávání náhodných čísel.

      Chcete-li se ujistit, že jste postupovali správně, vyberte libovolné číslo a podívejte se na panel vzorců. Nyní by se měla zobrazit hodnota, nikoli vzorec:

    3. Odstranit duplicity. Chcete-li to provést, vyberte všechna čísla, přejděte do části Data karta> Datové nástroje a klikněte na tlačítko Odstranění duplicit . V Odstranění duplicit dialogové okno, které se zobrazí, jednoduše klikněte na tlačítko OK, aniž byste cokoli měnili. Podrobný postup naleznete v části Jak odstranit duplikáty v aplikaci Excel.

    Hotovo! Všechny duplikáty jsou pryč a nyní můžete přebytečná čísla odstranit.

    Tip: Místo vestavěného nástroje aplikace Excel můžete použít náš pokročilý nástroj Odstranění duplicit pro aplikaci Excel.

    Jak zabránit změně náhodných čísel

    Všechny náhodné funkce v aplikaci Excel, včetně funkcí RAND, RANDBETWEEN a RANDARRAY, jsou nestálé, což znamená, že se přepočítávají při každé změně tabulky. Výsledkem je, že při každé změně vznikají nové náhodné hodnoty. Chcete-li zabránit automatickému generování nových čísel, použijte funkci Vložit speciální> hodnoty, která nahradí vzorce statickými hodnotami. Zde je návod, jak na to:

    1. Vyberte všechny buňky s náhodným vzorcem a stisknutím klávesové zkratky Ctrl + C je zkopírujte.
    2. Klikněte pravým tlačítkem myši na vybraný rozsah a klikněte na Vložit speciální > Hodnoty . Případně můžete stisknout klávesy Shift + F10 a poté V , což je zkratka pro tuto možnost.

    Podrobný postup naleznete v části Jak změnit vzorce na hodnoty v aplikaci Excel.

    Generátor náhodných čísel pro aplikaci Excel bez opakování

    Uživatelé naší sady Ultimate Suite ve skutečnosti nepotřebují žádné z výše uvedených řešení, protože již mají ve svém Excelu univerzální generátor náhodných čísel. Tento nástroj dokáže snadno vytvořit seznam neopakujících se celých čísel, desetinných čísel, dat a jedinečných hesel. Zde je návod, jak na to:

    1. Na Nástroje Ablebits klikněte na kartu Randomizace > Náhodný generátor .
    2. Vyberte rozsah, který chcete vyplnit náhodnými čísly.
    3. Na Náhodný generátor proveďte následující kroky:
      • Zvolte požadovaný typ hodnoty: celé číslo, reálné číslo, datum, logická hodnota, vlastní seznam nebo řetězec (ideální pro generování silných jedinečných hesel!).
      • Nastavení Z a Na hodnoty.
      • Vyberte Jedinečné hodnoty zaškrtávacího políčka.
      • Klikněte na Generovat .

    A je to! Vybraný rozsah se najednou zaplní neopakujícími se náhodnými čísly:

    Pokud jste zvědaví, zda si tento nástroj vyzkoušíte a prozkoumáte další fascinující funkce obsažené v naší sadě Ultimate Suite, můžete si stáhnout zkušební verzi.

    To je návod, jak v Excelu náhodně vybírat čísla bez duplicit. Děkuji vám za přečtení a doufám, že se příští týden uvidíme na našem blogu!

    Cvičebnice ke stažení

    Generování jedinečných náhodných čísel v aplikaci Excel (.xlsx soubor)

    Michael Brown je oddaný technologický nadšenec s vášní pro zjednodušování složitých procesů pomocí softwarových nástrojů. S více než desetiletými zkušenostmi v technologickém průmyslu zdokonalil své dovednosti v aplikacích Microsoft Excel a Outlook a také v Tabulkách a Dokumentech Google. Michaelův blog je věnován sdílení jeho znalostí a odborných znalostí s ostatními a poskytuje snadno pochopitelné tipy a návody pro zlepšení produktivity a efektivity. Ať už jste zkušený profesionál nebo začátečník, Michaelův blog nabízí cenné postřehy a praktické rady, jak tyto základní softwarové nástroje co nejlépe využít.