Hogyan lehet véletlenszerű mintát kapni az Excelben duplikátum nélkül

  • Ossza Meg Ezt
Michael Brown

A bemutató arra összpontosít, hogyan végezhetünk véletlenszerű mintavételt az Excelben ismétlések nélkül. Megoldásokat találunk az Excel 365, Excel 2021, Excel 2019 és korábbi verziókhoz.

Nemrég leírtunk néhány különböző módszert a véletlenszerű kiválasztásra az Excelben. A legtöbb ilyen megoldás a RAND és RANDBETWEEN függvényekre támaszkodik, amelyek duplikált számokat generálhatnak. Következésképpen a véletlen minta ismétlődő értékeket tartalmazhat. Ha duplikációk nélküli véletlenszerű kiválasztásra van szüksége, akkor használja az ebben a bemutatóban leírt megközelítéseket.

    Excel véletlenszerű kiválasztás a duplikátumok nélküli listából

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

    Ha véletlenszerű kiválasztást szeretne végezni egy ismétlődések nélküli listából, használja ezt az általános képletet:

    INDEX(SORTBY( adatok , RANDARRAY(ROWS( adatok )))), SEQUENCE( n ))

    Hol n a kívánt kiválasztási méret.

    Például, ha 5 egyedi véletlenszerű nevet szeretne kapni az A2:A10 listából, a következő képletet kell használni:

    =INDEX(SORTBY(A2:A10, RANDARRAY(ROWS(A2:A10))), SEQUENCE(5))

    Az egyszerűség kedvéért a minta méretét beírhatja egy előre meghatározott cellába, mondjuk a C2-be, és a SEQUENCE függvénynek megadhatja a cellahivatkozást:

    =INDEX(SORTBY(A2:A10, RANDARRAY(ROWS(A2:A10)))), SEQUENCE(C2))

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

    Íme a képlet logikájának magas szintű magyarázata: a RANDARRAY függvény létrehoz egy véletlen számokból álló tömböt, a SORTBY az eredeti értékeket e számok szerint rendezi, az INDEX pedig annyi értéket kér le, amennyit a SEQUENCE megadja.

    Az alábbiakban részletes bontás következik:

    A ROWS függvény megszámolja, hogy hány sort tartalmaz az adathalmaz, és átadja a számot a RANDARRAY függvénynek, hogy az ugyanannyi véletlen tizedesjegyet tudjon generálni:

    RANDARRAY(ROWS(A2:C10))

    A SORTBY függvény ezt a véletlenszerű tizedesjegyekből álló tömböt használja a "sort by" tömbként. Ennek eredményeképpen az eredeti adatok véletlenszerűen keverednek.

    A véletlenszerűen rendezett adatokból kiveszünk egy adott méretű mintát. Ehhez az INDEX függvénynek megadjuk a megkevert tömböt, és kérjük, hogy kérje ki az első N értékeket a SEQUENCE függvény segítségével, amely egy 1 és N Mivel az eredeti adatok már véletlenszerű sorrendbe vannak rendezve, nem igazán érdekel minket, hogy mely pozíciókat kell lekérni, csak a mennyiség számít.

    Véletlenszerű sorok kiválasztása az Excelben duplikációk nélkül

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

    Az ismétlődések nélküli véletlenszerű sorok kiválasztásához építsen fel egy képletet így:

    INDEX(SORTBY( adatok , RANDARRAY(ROWS( adatok )))), SEQUENCE( n ), {1,2,...})

    Hol n a minta mérete és {1,2,...} a kivonandó oszlopok számai.

    Példaként válasszunk ki véletlenszerű sorokat A2:C10-ből duplikált bejegyzések nélkül, az F1-ben szereplő mintanagyság alapján. Mivel az adataink 3 oszlopban vannak, ezt a tömbi állandót adjuk meg a képletnek: {1,2,3}

    =INDEX(SORTBY(A2:C10, RANDARRAY(ROWS(A2:C10))), SEQUENCE(F1), {1,2,3})

    És a következő eredményt kapjuk:

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

    A képlet pontosan ugyanazzal a logikával működik, mint az előző. Egy apró változtatás, ami nagy különbséget jelent, hogy mind a row_num és column_num az INDEX függvény argumentumai: row_num a SEQUENCE és a column_num a tömbi konstans által.

    Véletlenszerű mintavételezés az Excel 2010-ben - 2019

    Mivel csak az Excel for Microsoft 365 és az Excel 2021 támogatja a dinamikus tömböket, az előző példákban használt dinamikus tömbfüggvények csak az Excel 365-ben működnek. Más verziók esetében más megoldást kell kidolgoznia.

    Tegyük fel, hogy az A2:A10-es listából szeretnénk véletlenszerű kiválasztást végezni. Ezt 2 különálló képlettel tehetjük meg:

    1. Generáljunk véletlen számokat a Rand képlettel. Esetünkben a B2-be írjuk be, majd másoljuk le a B10-be:

      =RAND()

    2. Az első véletlen értéket az alábbi képlettel nyerjük ki, amelyet az E2-be írunk be:

      =INDEX($A$2:$A$10, RANK.EQ(B2, $B$2:$B$10) + COUNTIF($B$2:B2, B2) - 1)

    3. Másolja a fenti képletet annyi cellába, ahány véletlen értéket szeretne kiválasztani. Ebben a példában 4 nevet szeretnénk, ezért a képletet az E2-től az E5-ig másoljuk.

    Kész! A duplikációk nélküli véletlenszerű mintánk a következőképpen néz ki:

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

    Az első példához hasonlóan az INDEX függvényt használja az A oszlopból véletlenszerű sorszámok alapján történő értékek kinyerésére. A különbség abban van, hogy hogyan kapja meg ezeket a számokat:

    A RAND függvény a B2:B10 tartományt véletlenszerű tizedesjegyekkel tölti ki.

    A RANK.EQ függvény kiszámítja egy adott sorban lévő véletlen szám rangját. Például az E2-ben a RANK.EQ(B2, $B$2:$B$10) a B2-ben lévő számot a B2:B10-ben lévő összes számhoz képest rangsorolja. Az E3-ba másolva a B2 relatív hivatkozás B3-ra változik, és a B3-ban lévő szám rangját adja vissza, és így tovább.

    A COUNTIF függvény megállapítja, hogy egy adott szám hányszor fordul elő a fenti cellákban. Például az E2-ben a COUNTIF($B$2:B2, B2) csak egy cellát ellenőriz - magát a B2-t, és 1-et ad vissza. Az E5-ben a képlet COUNTIF($B$2:B5, B5) függvényre változik, és 2-t ad vissza, mivel B5 ugyanazt az értéket tartalmazza, mint B2 (megjegyezzük, hogy ez csak a képlet logikájának jobb magyarázatára szolgál; egy kis adathalmazon, az esélye annak, hogya duplikált véletlen számok közel vannak a nullához).

    Ennek eredményeképpen a COUNTIF minden 1. előfordulásra 1-et ad vissza, amelyből kivonunk 1-et, hogy megőrizzük az eredeti rangsort. 2. előfordulásra a COUNTIF 2-t ad vissza. 1 kivonásával a rangsort 1-gyel növeljük, így megakadályozzuk a duplikált rangsorolást.

    Például a B2 esetében a RANK.EQ 1-et ad vissza. Mivel ez az első előfordulás, a COUNTIF is 1-t ad vissza. RANK.EQ + COUNTIF 2-t ad. És - 1 visszaállítja az 1-es rangot.

    Most nézzük meg, mi történik a 2. előfordulás esetén. B5 esetében a RANK.EQ szintén 1-et ad vissza, míg a COUNTIF 2-t. Ezeket összeadva 3-t kapunk, amiből levonjuk az 1-et. Végeredményként 2-t kapunk, ami a B5-ben szereplő szám rangját jelenti.

    A rangot a row_num argumentuma az INDEX függvénynek, és a megfelelő sorból választja ki az értéket (a column_num argumentum kimaradt, így alapértelmezés szerint 1). Ez az oka annak, hogy miért olyan fontos elkerülni a duplikált rangsorolást. Ha nem lenne a COUNTIF függvény, a RANK.EQ a B2 és B5 esetében is 1-et adna, ami azt eredményezné, hogy az INDEX kétszer adja vissza az első sor (Andrew) értékét.

    Hogyan lehet megakadályozni, hogy az Excel véletlenszerű minta megváltozzon

    Mivel az Excelben az összes véletlenszerű függvény, például a RAND, a RANDBETWEEN és a RANDARRAY változékony, a munkalap minden egyes módosításakor újraszámítanak. Ennek eredményeképpen a véletlenszerű minta folyamatosan változik. Ennek megakadályozására használja a Paste Special> Values funkciót a képletek statikus értékekkel való helyettesítésére. Ehhez hajtsa végre az alábbi lépéseket:

    1. Jelölje ki a képletet tartalmazó összes cellát (bármely RAND, RANDBETWEEN vagy RANDARRAY funkciót tartalmazó képletet), és nyomja meg a Ctrl + C billentyűkombinációt a másoláshoz.
    2. Kattintson a jobb gombbal a kiválasztott tartományra, és kattintson a Beillesztés Special > Értékek Másik lehetőségként nyomja meg a Shift + F10, majd a V billentyűkombinációt, amely a fent említett funkció gyorsbillentyűje.

    A részletes lépésekért lásd: Hogyan alakítsuk át a képleteket értékekké az Excelben.

    Excel véletlenszerű kiválasztás: sorok, oszlopok vagy cellák

    Az Excel 365 minden verziójában működik az Excel 2010-ig.

    Ha az Excelben telepítve van az Ultimate Suite programcsomagunk, akkor képlet helyett egy egérkattintással is végezhet véletlenszerű mintavételt. Íme, hogyan:

    1. A Ablebits eszközök fülre, kattintson a Randomize > Véletlenszerű kiválasztás .
    2. Válassza ki azt a tartományt, amelyből mintát szeretne venni.
    3. A beépülő modul ablaktábláján tegye a következőket:
      • Válassza ki, hogy véletlenszerű sorokat, oszlopokat vagy cellákat szeretne-e kijelölni.
      • Határozza meg a minta méretét: ez lehet százalék vagy szám.
      • Kattintson a Válassza ki a címet. gomb.

    Ez az! Ahogy az alábbi képen látható, egy véletlenszerű minta közvetlenül az adathalmazodban van kiválasztva. Ha szeretnéd másolni valahova, csak nyomd meg a szokásos másolás gyorsbillentyűt (Ctrl + C) .

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

    Elérhető letöltések

    Véletlen minta duplikációk nélkül - képletpéldák (.xlsx fájl)

    Ultimate Suite 14 napos, teljesen funkcionális verzió (.exe 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.