Obsah
Výukový program se zaměřuje na to, jak provádět náhodné výběry v aplikaci Excel bez opakování. Najdete zde řešení pro aplikace Excel 365, Excel 2021, Excel 2019 a starší verze.
Před časem jsme popsali několik různých způsobů náhodného výběru v aplikaci Excel. Většina těchto řešení se spoléhá na funkce RAND a RANDBETWEEN, které mohou generovat duplicitní čísla. V důsledku toho může váš náhodný vzorek obsahovat opakující se hodnoty. Pokud potřebujete náhodný výběr bez duplicit, použijte přístupy popsané v tomto návodu.
Náhodný výběr v aplikaci Excel ze seznamu bez duplikátů
Funguje pouze v aplikacích Excel 365 a Excel 2021, které podporují dynamická pole.
Chcete-li provést náhodný výběr ze seznamu bez opakování, použijte tento obecný vzorec:
INDEX(SORTBY( data , RANDARRAY(ŘÁDKY( data )), SEQUENCE( n ))Kde: n je požadovaná velikost výběru.
Chcete-li například získat 5 jedinečných náhodných jmen ze seznamu A2:A10, použijte tento vzorec:
=INDEX(SORTBY(A2:A10, RANDARRAY(ROWS(A2:A10))), SEQUENCE(5))
Pro větší pohodlí můžete velikost vzorku zadat do předem definované buňky, například C2, a funkci SEQUENCE poskytnout odkaz na tuto buňku:
=INDEX(SORTBY(A2:A10, RANDARRAY(ROWS(A2:A10))), SEQUENCE(C2))
Jak tento vzorec funguje:
Zde je stručné vysvětlení logiky vzorce: funkce RANDARRAY vytvoří pole náhodných čísel, SORTBY seřadí původní hodnoty podle těchto čísel a INDEX získá tolik hodnot, kolik jich určuje SEQUENCE.
Podrobný rozpis je uveden níže:
Funkce ROWS spočítá, kolik řádků obsahuje váš soubor dat, a předá tento počet funkci RANDARRAY, aby mohla vygenerovat stejný počet náhodných desetinných míst:
RANDARRAY(ŘÁDKY(A2:C10))
Toto pole náhodných desetinných čísel použije funkce SORTBY jako pole "sort by". Výsledkem je, že se původní data náhodně promíchají.
Z náhodně seřazených dat získáte vzorek určité velikosti. Za tímto účelem poskytnete funkci INDEX promíchané pole a požádáte o získání prvního vzorku. N pomocí funkce SEQUENCE, která vytvoří posloupnost čísel od 1 do 5. N . Protože původní data jsou již seřazena v náhodném pořadí, je nám v podstatě jedno, které pozice načteme, záleží pouze na množství.
Výběr náhodných řádků v aplikaci Excel bez duplicit
Funguje pouze v aplikacích Excel 365 a Excel 2021, které podporují dynamická pole.
Chcete-li vybrat náhodné řádky bez opakování, sestavte vzorec tímto způsobem:
INDEX(SORTBY( data , RANDARRAY(ŘÁDKY( data )), SEQUENCE( n ), {1,2,...})Kde: n je velikost vzorku a {1,2,...} jsou čísla sloupců, které se mají extrahovat.
Jako příklad vybereme náhodné řádky z A2:C10 bez duplicitních záznamů na základě velikosti vzorku v F1. Protože naše data jsou ve 3 sloupcích, dodáme do vzorce tuto konstantu pole: {1,2,3}.
=INDEX(SORTBY(A2:C10, RANDARRAY(ROWS(A2:C10))), SEQUENCE(F1), {1,2,3})
A získáte následující výsledek:
Jak tento vzorec funguje:
Vzorec pracuje s naprosto stejnou logikou jako předchozí vzorec. Malá změna, která je velkým rozdílem, spočívá v tom, že zadáváte obě hodnoty row_num a column_num argumenty pro funkci INDEX: row_num dodává SEQUENCE a column_num konstantou pole.
Jak provádět náhodný výběr vzorků v aplikaci Excel 2010 - 2019
Vzhledem k tomu, že dynamická pole podporuje pouze Excel pro Microsoft 365 a Excel 2021, fungují funkce dynamických polí použité v předchozích příkladech pouze v Excelu 365. Pro ostatní verze budete muset najít jiné řešení.
Předpokládejme, že chcete provést náhodný výběr ze seznamu v A2:A10. To lze provést pomocí 2 samostatných vzorců:
- Vygenerujte náhodná čísla pomocí vzorce Rand. V našem případě jej zadáme do B2 a poté zkopírujeme dolů do B10:
=RAND()
- První náhodnou hodnotu získáte pomocí níže uvedeného vzorce, který zadáte do pole E2:
=INDEX($A$2:$A$10, RANK.EQ(B2, $B$2:$B$10) + COUNTIF($B$2:B2, B2) - 1)
- Zkopírujte výše uvedený vzorec do tolika buněk, kolik náhodných hodnot chcete vybrat. V tomto příkladu chceme 4 jména, takže vzorec zkopírujeme z buněk E2 až E5.
Hotovo! Náš náhodný vzorek bez duplicit vypadá takto:
Jak tento vzorec funguje:
Stejně jako v prvním příkladu použijete funkci INDEX k získání hodnot ze sloupce A na základě náhodných čísel řádků. Rozdíl je v tom, jak tato čísla získáte:
Funkce RAND vyplní rozsah B2:B10 náhodnými desetinnými čísly.
Funkce RANK.EQ vypočítá pořadí náhodného čísla v daném řádku. Například v E2 funkce RANK.EQ(B2, $B$2:$B$10) porovná číslo v B2 se všemi čísly v B2:B10. Při kopírování do E3 se relativní odkaz B2 změní na B3 a vrátí pořadí čísla v B3 atd.
Funkce COUNTIF zjišťuje, kolik výskytů daného čísla je ve výše uvedených buňkách. Například v E2 COUNTIF($B$2:B2, B2) kontroluje pouze jednu buňku - samotnou B2 a vrací 1. V E5 se vzorec změní na COUNTIF($B$2:B5, B5) a vrací 2, protože B5 obsahuje stejnou hodnotu jako B2 (upozorňujeme, že toto je pouze pro lepší vysvětlení logiky vzorce; na malém souboru dat je šance, že dostanemeduplicitní náhodná čísla se blíží nule).
Výsledkem je, že pro všechny 1. výskyty COUNTIF vrátí 1, od které odečtete 1, abyste zachovali původní pořadí. Pro 2. výskyty COUNTIF vrátí 2. Odečtením 1 zvýšíte pořadí o 1, čímž zabráníte duplicitním pořadím.
Například pro B2 vrátí RANK.EQ hodnotu 1. Protože se jedná o první výskyt, COUNTIF vrátí také hodnotu 1. RANK.EQ + COUNTIF dává hodnotu 2. A - 1 obnoví hodnotu 1.
Nyní se podívejte, co se stane v případě 2. výskytu. Pro B5 vrátí RANK.EQ také 1, zatímco COUNTIF vrátí 2. Jejich součtem získáte 3, od kterého odečtete 1. Jako konečný výsledek dostanete 2, což představuje pořadí čísla v B5.
Hodnost získává row_num argumentu funkce INDEX a vybere hodnotu z odpovídajícího řádku. column_num To je důvod, proč je tak důležité vyhnout se duplicitnímu řazení. Kdyby nebylo funkce COUNTIF, RANK.EQ by dalo 1 pro B2 i B5, což by způsobilo, že INDEX by vrátil hodnotu z prvního řádku (Andrew) dvakrát.
Jak zabránit změně náhodného vzorku aplikace Excel
Protože všechny náhodné funkce v aplikaci Excel, jako jsou RAND, RANDBETWEEN a RANDARRAY, jsou nestálé, přepočítávají se při každé změně na pracovním listu. Výsledkem je, že se váš náhodný vzorek bude neustále měnit. Abyste tomu zabránili, použijte funkci Vložit speciální> hodnoty, která nahradí vzorce statickými hodnotami. Za tímto účelem proveďte následující kroky:
- Vyberte všechny buňky se vzorcem (jakýkoli vzorec obsahující funkci RAND, RANDBETWEEN nebo RANDARRAY) a stiskněte klávesy Ctrl + C pro jejich zkopírování.
- Klikněte pravým tlačítkem myši na vybraný rozsah a klikněte na Vložit speciální > Hodnoty . Případně stiskněte klávesy Shift + F10 a poté V , což je zkratka pro výše uvedenou funkci.
Podrobný postup naleznete v části Jak převést vzorce na hodnoty v aplikaci Excel.
Náhodný výběr aplikace Excel: řádky, sloupce nebo buňky
Funguje ve všech verzích aplikace Excel 365 až Excel 2010.
Pokud máte v aplikaci Excel nainstalovanou naši sadu Ultimate Suite, můžete namísto vzorce provést náhodný výběr kliknutím myši. Zde je návod, jak na to:
- Na Nástroje Ablebits klikněte na kartu Randomizace > Náhodně vybrat .
- Vyberte rozsah, ze kterého chcete vybrat vzorek.
- Na panelu doplňku proveďte následující kroky:
- Vyberte, zda chcete vybrat náhodné řádky, sloupce nebo buňky.
- Definujte velikost vzorku: může to být procento nebo číslo.
- Klikněte na Vyberte tlačítko.
A je to! Jak je vidět na obrázku níže, náhodný vzorek je vybrán přímo v souboru dat. Pokud jej chcete někam zkopírovat, stačí stisknout běžnou klávesovou zkratku pro kopírování (Ctrl + C) .
To je návod, jak vybrat náhodný vzorek v aplikaci Excel 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!
Dostupné soubory ke stažení
Náhodný vzorek bez duplicit - příklady vzorců (.xlsx soubor)
Ultimate Suite 14denní plně funkční verze (.exe soubor)