Excel

Náhodný zoznam mien

Random List Names

Vzorec programu Excel: Náhodný zoznam mienGenerický vzorec | _+_ | Zhrnutie

Na vytvorenie náhodného zoznamu mien môžete použiť Funkcia INDEX a Funkcia RANDARRAY na výber náhodných mien z existujúceho zoznamu. V uvedenom príklade vzorec v D5 je:





= INDEX (names, RANDARRAY (n,1,1, COUNTA (names),TRUE))

ktorý vráti 10 náhodných hodnôt z pomenovaný rozsah „mená“ (B5: B104).

funkcia programu Excel na spočítanie počtu znakov v bunke
Vysvetlenie

V jadre tento vzorec používa funkciu INDEX na získanie 10 náhodných mien z pomenovaného rozsahu s názvom „mená“, ktorý obsahuje 100 mien. Napríklad na získanie piateho mena zo zoznamu používame INDEX takto:





 
= INDEX (names, RANDARRAY (10,1,1, COUNTA (names),TRUE))

Trik v tomto prípade však je, že nechceme a slobodný meno na známom mieste, chceme 10 náhodných mien na neznámych miestach medzi 1 a 100. Toto je vynikajúci prípad použitia funkcie RANDARRAY, ktorá môže vytvoriť náhodnú množinu celých čísel v danom rozsahu. Keď pracujeme zvnútra von, použijeme RANDARRAY na získanie 10 náhodných čísel od 1 do 100 takto:

 
= INDEX (names,5)

Funkcia COUNTA sa používa na získanie dynamického počtu mien v zozname, ale v tomto prípade by sme mohli COUNTA nahradiť pevne zakódovanou stovkou s rovnakým výsledkom:



 
 RANDARRAY (10,1,1, COUNTA (names)

V každom prípade RANDARRAY vráti 10 čísel v poli, ktoré vyzerá takto:

 
= INDEX (names, RANDARRAY (10,1,1,100,TRUE))

Poznámka: tieto čísla sú len náhodné a nemapujú sa priamo na zobrazený príklad.

Toto pole je vrátené priamo do funkcie INDEX ako argument riadka:

 
{6474137496655738485}

Pretože dávame INDEX 10 čísel riadkov, bude to 10 výsledkov, z ktorých každý zodpovedá názvu na danej pozícii. 10 náhodných mien sa vráti v rozsahu úniku, ktorý začína v bunke D5.

Poznámka: RANDARRAY je a prchavá funkcia a prepočíta sa pri každej zmene pracovného hárka, čo spôsobí, že sa použijú hodnoty. Ak chcete zastaviť automatické triedenie hodnôt, môžete skopírovať vzorce a potom pomocou príkazu Vložiť špeciálne> Hodnoty previesť vzorce na statické hodnoty.

Zabráňte duplikátom

Jeden problém s vyššie uvedeným vzorcom (v závislosti od vašich potrieb) je ten, že RANDARRAY niekedy generuje duplicitné čísla. Inými slovami, neexistuje žiadna záruka, že RANDARRAY vráti 10 jedinečných čísel.

Aby ste zo zoznamu zaistili 10 rôznych mien, môžete vzorec prispôsobiť tak, aby náhodne triedil celý zoznam mien, a potom zo zoznamu načítajte prvých 10 mien. Vzorec v F5 používa tento prístup:

 
= INDEX (names, {6474137496655738485}

Prístup je tu rovnaký ako vyššie - používame INDEX na získanie 10 hodnôt zo zoznamu mien. V tejto verzii vzorca však triedime zoznam mien náhodne, než ho odovzdáme zoznamu INDEX takto:

 
= INDEX ( SORTBY (names, RANDARRAY ( COUNTA (names))), SEQUENCE (10))

Tu, Funkcia SORTBY sa používa na náhodne zoradenie zoznamu mien pomocou hodnôt poľa vytvorených funkciou RANDARRAY, ako je podrobnejšie vysvetlené tu.

Nakoniec musíme získať 10 hodnôt. Pretože už máme mená v náhodnom poradí, môžeme jednoducho požiadať o prvých 10 pomocou poľa vytvoreného súborom Funkcia SEQUENCE Páči sa ti to:

 
 SORTBY (names, RANDARRAY ( COUNTA (names)))

SEQUENCE vytvára rad sekvenčných čísel:

 
 SEQUENCE (10)

ktorý sa vráti do funkcie INDEX ako argument riadka. INDEX potom vráti prvých 10 mien v a herný rozsah ako pôvodný vzorec.

Vzorce dynamického poľa sú k dispozícii v Office 365 iba. Autor Dave Bruns


^