Hogyan lehet véletlen számokat generálni az Excelben ismétlés nélkül

  • Ossza Meg Ezt
Michael Brown

Ebben a cikkben néhány különböző képletet tárgyalunk, amelyekkel véletlenszerűvé tehetjük az Excelben a számok ismétlődése nélkül. Emellett mutatunk egy univerzális véletlengenerátort is, amely véletlen számok, dátumok és karakterláncok listáját képes előállítani ismétlődések nélkül.

Amint azt valószínűleg tudja, a Microsoft Excel számos funkcióval rendelkezik véletlen számok generálására, mint például a RAND, RANDBETWEEN és RANDARRAY. Azonban nincs garancia arra, hogy bármelyik funkció eredménye duplikátummentes lesz.

Ez a bemutató elmagyaráz néhány képletet az egyedi véletlen számok listájának létrehozásához. Kérjük, figyeljen arra, hogy néhány képlet csak az Excel 365 és 2021 legújabb verziójában működik, míg mások az Excel 2019, Excel 2016, Excel 2013 és korábbi verziókban is használhatók.

    Egyedi véletlen számok listájának lekérdezése előre meghatározott lépéssel

    Csak a dinamikus tömböket támogató Excel 365 és Excel 2021 programokban működik.

    Ha rendelkezik a legújabb Excel-verzióval, a legegyszerűbb módja annak, hogy egy egyedi véletlen számok listája 3 új dinamikus tömbfüggvényt kombinál: SORTBY, SEQUENCE és RANDARRAY:

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

    Hol n a kívánt véletlen értékek száma.

    Például, ha 5 véletlen számból álló listát szeretnénk létrehozni, használjuk az 5-öt a következőhöz n :

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

    Írja be a képletet a legfelső cellába, nyomja meg az Enter billentyűt, és az eredmény automatikusan ki fog terjedni a megadott számú cellára.

    Amint az alábbi képernyőképen látható, ez a képlet valójában véletlenszerű sorrendbe rendezi a számokat 1-től 5-ig Ha egy klasszikus, ismétlődések nélküli véletlenszám-generátorra van szüksége, akkor nézze meg az alábbi példákat.

    A fenti képletben csak azt határozzuk meg, hogy hány sort töltsünk ki. Minden más argumentumot az alapértelmezett értéken hagyunk, ami azt jelenti, hogy a lista 1-nél kezdődik és 1-gyel növekszik. Ha más első számot és növekményt szeretnénk, akkor a 3. értéket ( indítsd el a ) és 4. ( lépés ) argumentumai a SEQUENCE függvényben.

    Például, ha 100-ról indulunk és 10-zel növelünk, használjuk ezt a képletet:

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

    Hogyan működik ez a képlet:

    A képlet belülről kifelé haladva a következőket teszi:

    • A SEQUENCE függvény a megadott vagy alapértelmezett kezdőérték és a lépcsőméret alapján sorszámok tömbjét hozza létre. Ez a sorozat a array a SORTBY érve.
    • A RANDARRAY függvény létrehoz egy véletlen számokból álló, a szekvenciával megegyező méretű tömböt (esetünkben 5 sor, 1 oszlop). A min és max érték nem igazán számít, így ezeket hagyhatjuk alapértelmezettnek. Ez a tömb kerül a(z) by_array a SORTBY érve.
    • A SORTBY függvény a SEQUENCE által generált sorszámokat a RANDARRAY által előállított véletlen számok tömbjének segítségével rendezi.

    Ne feledje, hogy ez az egyszerű képlet nem ismétlődő véletlenszerű számok listáját hozza létre, egy előre meghatározott lépés E korlátozás megkerülésére használja az alábbiakban ismertetett képlet továbbfejlesztett változatát.

    Duplikátum nélküli véletlen számok listájának generálása

    Csak a dinamikus tömböket támogató Excel 365 és Excel 2021 programokban működik.

    Ha véletlen számokat szeretne generálni az Excelben duplikációk nélkül, használja az alábbi általános képletek egyikét.

    Véletlen egész számok :

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

    Véletlen tizedesjegyek :

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

    Hol:

    • N a létrehozandó értékek száma.
    • Min a minimális érték.
    • Max a maximális érték.

    Például, egy 5 darabos lista létrehozásához véletlen egész számok 1-től 100-ig ismétlés nélkül, használja ezt a képletet:

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

    5 egyedi véletlenszerű tizedes számok , a RANDARRAY utolsó argumentumába FALSE-t írjon, vagy hagyja ki ezt az argumentumot:

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

    Hogyan működik ez a képlet:

    Első pillantásra a képlet kissé bonyolultnak tűnhet, de közelebbről megnézve a logikája nagyon egyszerű:

    • A RANDARRAY függvény véletlen számok tömbjét hozza létre az Ön által megadott min és max értékek alapján. Annak meghatározásához, hogy hány értéket generáljon, a kívánt egyedszámot a 2 hatványára emeli. Mivel az így kapott tömbben nem tudni, hány duplikátum lehet, elegendő értéktömböt kell megadni az UNIQUE számára, hogy választhasson. Ebben a példában csak 5 egyedivéletlen számok, de utasítjuk a RANDARRAY-t, hogy 25 (5^2) számot állítson elő.
    • Az UNIQUE függvény eltávolítja az összes duplikátumot, és egy duplikátummentes tömböt "táplál" az INDEX-be.
    • Az UNIQUE által átadott tömbből az INDEX függvény kivonja az első n értékek a SEQUENCE által meghatározottak szerint (esetünkben 5 szám). Mivel az értékek már véletlenszerű sorrendben vannak, nem igazán számít, hogy melyek maradnak meg.

    Megjegyzés: Nagyon nagy tömbök esetén ez a képlet kissé lassú lehet. Például ahhoz, hogy egy 1000 egyedi számot tartalmazó listát kapjunk végeredményként, a RANDARRAY-nak 1 000 000 véletlen számból álló tömböt (1000^2) kellene generálnia. Ilyen helyzetekben a hatványra emelés helyett megszorozhatjuk a következőket is n mondjuk 10 vagy 20. Ne feledje, hogy minél kisebb tömböt ad át a UNIQUE függvénynek (a kívánt egyedi véletlen értékek számához képest kicsi), annál nagyobb az esélye annak, hogy nem minden cellát tölt ki az eredményekkel a kiöntési tartományban.

    Nem ismétlődő véletlen számok tartományának létrehozása Excelben

    Csak a dinamikus tömböket támogató Excel 365 és Excel 2021 programokban működik.

    Egy ismétlődések nélküli véletlen számtartomány generálásához használhatja ezt a képletet:

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

    Hol:

    • n a kitöltendő cellák száma. A kézi számítások elkerülése érdekében megadhatja (sorok száma * oszlopok száma) formában is. Például 10 sor és 5 oszlop kitöltéséhez használja az 50^2 vagy (10*5)^2 értéket.
    • Sorok a kitöltendő sorok száma.
    • Oszlopok a kitöltendő oszlopok száma.
    • Min a legalacsonyabb érték.
    • Max a legmagasabb érték.

    Amint észreveheti, a képlet alapvetően ugyanaz, mint az előző példában. Az egyetlen különbség a SEQUENCE függvény, amely ebben az esetben a sorok és oszlopok számát is meghatározza.

    Ha például egy 10 sorból és 3 oszlopból álló tartományt szeretne kitölteni 1 és 100 közötti egyedi véletlen számokkal, használja ezt a képletet:

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

    És egy véletlenszerű tizedesjegyekből álló tömböt fog előállítani, ismétlődő számok nélkül:

    Ha egész számokra van szükséged, akkor a RANDARRAY utolsó argumentumát állítsd TRUE-ra:

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

    Egyedi véletlen számok generálása az Excel 2019, 2016 és korábbi Excelben

    Mivel az Excel 365 és 2021 kivételével egyetlen verzió sem támogatja a dinamikus tömböket, a fenti megoldások egyike sem működik az Excel korábbi verzióiban. Ez azonban nem jelenti azt, hogy egyáltalán nincs megoldás, csak néhány további lépést kell elvégeznie:

    1. Hozzon létre egy listát véletlenszerű számokból. Az igényei alapján használjon vagy:
      • A RAND függvény a 0 és 1 közötti véletlen tizedesjegyek generálásához, vagy
      • A RANDBETWEEN függvény az Ön által megadott tartományban véletlen egész számok előállítására.

      Ügyeljen arra, hogy több értéket generáljon, mint amennyire valójában szüksége van, mert néhány duplikátum lesz, és később törölni fogja őket.

      Ebben a példában az alábbi képlet segítségével 10 véletlenszerű egész számot hozunk létre 1 és 20 között:

      =RANDBETWEEN(1,20)

      Ha egyszerre több cellába szeretné beírni a képletet, jelölje ki az összes cellát (példánkban A2:A15), írja be a képletet a képletsorba, majd nyomja meg a Ctrl + Enter billentyűkombinációt . Vagy a szokásos módon beírhatja a képletet az első cellába, majd lehúzhatja annyi cellára, ahányra szükséges.

      Mindenesetre az eredmény valahogy így fog kinézni:

      Mint észreveheti, a képletet 14 cellába írtuk be, bár végül csak 10 egyedi véletlenszerű számra van szükségünk.

    2. A képletek értékekre történő módosítása. Mivel mind a RAND, mind a RANDBETWEEN a munkalap minden egyes módosításakor újraszámol, a véletlen számok listája folyamatosan változik. Ennek megakadályozására használja a következő módszert Paste Special> Értékek a képletek értékekké alakításához, ahogyan azt a Hogyan állítsuk le a véletlen számok újraszámlálását.

      Hogy megbizonyosodjon arról, hogy jól csinálta, válasszon ki egy tetszőleges számot, és nézze meg a képletsávot. Most már egy értéket kell megjelenítenie, nem pedig egy képletet:

    3. Duplikátumok törlése. Ehhez jelölje ki az összes számot, menjen a Adatok tab> Adatkezelési eszközök csoport, és kattintson a Duplikátumok eltávolítása . A Duplikátumok eltávolítása párbeszédpanelen megjelenő párbeszédpanelen egyszerűen kattintson az OK gombra anélkül, hogy bármit megváltoztatna. A részletes lépéseket lásd: Hogyan távolítsuk el a duplikátumokat az Excelben.

    Kész! Minden duplikátum eltűnt, és most már törölheti a felesleges számokat.

    Tipp: Az Excel beépített eszköze helyett használhatja a fejlett Duplicate Remover for Excel programot.

    Hogyan lehet megállítani a véletlen számok változását

    Az Excel összes randomizáló függvénye, beleértve a RAND, a RANDBETWEEN és a RANDARRAY függvényeket, illékonyak, ami azt jelenti, hogy minden alkalommal újraszámítják a táblázatot, amikor a táblázatot megváltoztatják. Ennek eredményeképpen minden változással új véletlen értékek keletkeznek. Az új számok automatikus generálásának megakadályozásához használja a Paste Special> Values funkciót a képletek statikus értékekkel való helyettesítésére. Íme, hogyan:

    1. Jelölje ki a véletlenszerű képletet tartalmazó összes cellát, és nyomja meg a Ctrl + C billentyűkombinációt a másoláshoz.
    2. Kattintson a jobb gombbal a kiválasztott tartományra, majd kattintson a Beillesztés Special > Értékek Másik lehetőségként megnyomhatja a Shift + F10, majd a V billentyűkombinációt, ami ennek a lehetőségnek a gyorsbillentyűje.

    A részletes lépésekért lásd: Hogyan lehet a képleteket értékekre módosítani az Excelben.

    Véletlenszám-generátor Excelhez ismétlés nélkül

    Az Ultimate Suite-unk felhasználóinak nincs igazán szükségük a fenti megoldások egyikére sem, mert már van egy univerzális véletlengenerátor az Excelben. Ez az eszköz könnyedén képes nem ismétlődő egész számok, tizedes számok, dátumok és egyedi jelszavak listáját előállítani. Íme, hogyan:

    1. A Ablebits eszközök fülre, kattintson a Randomize > Véletlengenerátor .
    2. Válassza ki a véletlen számokkal kitöltendő tartományt.
    3. A Véletlengenerátor ablaktáblán a következőket tegye:
      • Válassza ki a kívánt értéktípust: egész szám, valós szám, dátum, Boolean, egyéni lista vagy karakterlánc (ideális erős, egyedi jelszavak létrehozásához!).
      • Állítsa be a A címről és A címre. értékek.
      • Válassza ki a Egyedi értékek jelölőnégyzet.
      • Kattintson a címre. Generálja .

    Ennyi! A kiválasztott tartomány egyszerre feltöltődik nem ismétlődő véletlen számokkal:

    Ha kíváncsi, hogy kipróbálja ezt az eszközt és felfedezze az Ultimate Suite egyéb lenyűgöző funkcióit, akkor szívesen látjuk, ha letölti a próbaverziót.

    Így lehet véletlenszerűvé tenni a számokat Excelben duplikációk nélkül. Köszönöm, hogy elolvastad, és remélem, jövő héten találkozunk a blogon!

    Gyakorlati munkafüzet letölthető

    Egyedi véletlen számok generálása Excelben (.xlsx fájl)

    Michael Brown elkötelezett technológiai rajongó, aki szenvedélyesen egyszerűsíti a bonyolult folyamatokat szoftvereszközök segítségével. A technológiai iparban szerzett több mint egy évtizedes tapasztalatával a Microsoft Excel és az Outlook, valamint a Google Táblázatok és a Dokumentumok területén fejlesztette tudását. Michael blogja célja, hogy megossza tudását és szakértelmét másokkal, könnyen követhető tippeket és oktatóanyagokat adva a termelékenység és a hatékonyság javításához. Akár tapasztalt szakember, akár kezdő, Michael blogja értékes betekintést és gyakorlati tanácsokat kínál, amelyek segítségével a legtöbbet hozhatja ki ezekből az alapvető szoftvereszközökből.