Преглед садржаја
Водич се фокусира на то како да урадите насумично узорковање у Екцел-у без понављања. Пронаћи ћете решења за Екцел 365, Екцел 2021, Екцел 2019 и старије верзије.
Пре неког времена, описали смо неколико различитих начина за насумично бирање у Екцел-у. Већина тих решења се ослања на функције РАНД и РАНДБЕТВЕЕН, које могу генерисати дупле бројеве. Сходно томе, ваш насумични узорак може да садржи вредности које се понављају. Ако вам је потребан насумични избор без дупликата, користите приступе описане у овом водичу.
Екцел случајни избор са листе без дупликата
Ради само у Екцел 365 и Екцел 2021 који подржавају динамичке низове.
Да бисте направили насумичан избор са листе без понављања, користите ову генеричку формулу:
ИНДЕКС(СОРТБИ( подаци) , РАНДАРРАИ(РОВС( подаци))), СЕКУЕНЦЕ( н))Где је н жељена величина избора.
На пример, да бисте добили 5 јединствених насумичних имена са листе у А2:А10, ево формуле коју треба користити:
=INDEX(SORTBY(A2:A10, RANDARRAY(ROWS(A2:A10))), SEQUENCE(5))
Ради погодности, можете да унесете величину узорка у унапред дефинисана ћелија, рецимо Ц2, и доставите референцу ћелије на функцију СЕКУЕНЦЕ:
=INDEX(SORTBY(A2:A10, RANDARRAY(ROWS(A2:A10))), SEQUENCE(C2))
Како ова формула функционише:
Ево објашњења на високом нивоу логике формуле: функција РАНДАРРАИ креира низ насумичних бројева, СОРТБИ сортира оригиналне вредности према тим бројевима, а ИНДЕКС преузима онолико вредности коликоназначено са СЕКУЕНЦЕ.
Детаљна рашчламба следи у наставку:
Функција РОВС броји колико редова садржи ваш скуп података и прослеђује број функцији РАНДАРРАИ, тако да може да генерише исти број насумичне децимале:
RANDARRAY(ROWS(A2:C10))
Овај низ насумичних децимала се користи као низ "сортирај по" функцијом СОРТБИ. Као резултат, ваши оригинални подаци се насумично мешају.
Из насумично сортираних података издвајате узорак одређене величине. За ово, испоручујете измешани низ функцији ИНДЕКС и захтевате да преузмете прве Н вредности уз помоћ функције СЕКУЕНЦЕ, која производи низ бројева од 1 до Н . Пошто су оригинални подаци већ сортирани насумичним редоследом, није нас баш брига које позиције да преузмемо, само је количина важна.
Изабери насумичне редове у Екцел-у без дупликата
Само ради у Екцел 365 и Екцел 2021 који подржавају динамичке низове.
Да бисте изабрали насумичне редове без понављања, направите формулу на овај начин:
ИНДЕКС(СОРТБИ( подаци, РАНДАРРАИ(РОВС( подаци))), СЕКУЕНЦЕ( н), {1,2,…})Где је н величина узорка и {1,2,…} су бројеви колона за издвајање.
Као пример, изаберемо насумичне редове из А2:Ц10 без дуплих уноса, на основу величине узорка у Ф1. Пошто су наши подаци у 3 колоне, ову константу низа уносимо у формулу:{1,2,3}
=INDEX(SORTBY(A2:C10, RANDARRAY(ROWS(A2:C10))), SEQUENCE(F1), {1,2,3})
И добићете следећи резултат:
Како ова формула функционише:
Формула ради са потпуно истом логиком као и претходна. Мала промена која чини велику разлику је та што наводите аргументе број_реда и број_колоне за функцију ИНДЕКС: број_реда се доставља СЕКУЕНЦЕ и цолумн_нум константом низа.
Како да урадите насумично узорковање у програму Екцел 2010 - 2019
Пошто само Екцел за Мицрософт 365 и Екцел 2021 подржава динамичке низове, функције динамичког низа које се користе у претходни примери раде само у Екцел 365. За друге верзије, мораћете да смислите другачије решење.
Претпоставимо да желите насумични избор са листе у А2:А10. Ово се може урадити са 2 одвојене формуле:
- Генерисати случајне бројеве помоћу Ранд формуле. У нашем случају, уносимо је у Б2, а затим копирамо на Б10:
=RAND()
- Издвоји прву случајну вредност помоћу формуле испод, коју уносите у Е2:
=INDEX($A$2:$A$10, RANK.EQ(B2, $B$2:$B$10) + COUNTIF($B$2:B2, B2) - 1)
- Копирајте горњу формулу у онолико ћелија колико насумичних вредности желите да изаберете. У овом примеру желимо 4 имена, тако да копирамо формулу од Е2 до Е5.
Готово! Наш насумични узорак без дупликата изгледа овако:
Како ова формула функционише:
Као у првом примеру, користите Функција ИНДЕКС за преузимање вредности из колоне А на основу случајног редабројевима. Разлика је у томе како добијате те бројеве:
Функција РАНД попуњава опсег Б2:Б10 насумичним децималама.
Функција РАНК.ЕК израчунава ранг случајног броја у датом ред. На пример, у Е2, РАНК.ЕК(Б2, $Б$2:$Б$10) рангира број у Б2 у односу на све бројеве у Б2:Б10. Када се копира у Е3, релативна референца Б2 се мења у Б3 и враћа ранг броја у Б3, и тако даље.
Функција ЦОУНТИФ проналази колико појављивања датог броја има у горњим ћелијама. На пример, у Е2, ЦОУНТИФ($Б$2:Б2, Б2) проверава само једну ћелију - саму Б2 и враћа 1. У Е5, формула се мења у ЦОУНТИФ($Б$2:Б5, Б5) и враћа 2, јер Б5 садржи исту вредност као Б2 (имајте на уму, ово је само да би се боље објаснила логика формуле; на малом скупу података, шансе за добијање дупликата случајних бројева су близу нули).
Као резултат, за све 1. појављивања, ЦОУНТИФ враћа 1, од чега одузимате 1 да бисте задржали првобитни ранг. За 2. појављивања, ЦОУНТИФ враћа 2. Одузимањем 1 повећавате рангирање за 1 и на тај начин спречавате дуплирање рангова.
На пример, за Б2, РАНК.ЕК враћа 1. Пошто је ово прво појављивање, ЦОУНТИФ такође враћа 1. РАНК.ЕК + ЦОУНТИФ даје 2. И - 1 враћа ранг 1.
Сада, погледајте шта се дешава у случају 2. појаве. За Б5, РАНК.ЕК такође враћа 1 док ЦОУНТИФ враћа 2. Сабирање ових даје3, од чега одузимате 1. Као коначни резултат, добијате 2, што представља ранг броја у Б5.
Ранг иде у аргумент ред_нум у функцији ИНДЕКС , и бира вредност из одговарајућег реда (аргумент број_колоне је изостављен, тако да је подразумевано 1). То је разлог зашто је толико важно да се избегне дуплирање рангирања. Да није било функције ЦОУНТИФ, РАНК.ЕК би дао 1 и за Б2 и за Б5, што би довело до тога да ИНДЕКС врати вредност из првог реда (Андрев) двапут.
Како спречити промену случајног узорка Екцел-а
Пошто су све функције насумице у Екцел-у, као што су РАНД, РАНДБЕТВЕЕН и РАНДАРРАИ, променљиве, оне се поново израчунавају са сваком променом на радном листу. Као резултат, ваш насумични узорак ће се стално мењати. Да бисте спречили да се то догоди, користите Специјално лепљење &гт; Функција вредности за замену формула статичким вредностима. За ово, извршите ове кораке:
- Изаберите све ћелије са својом формулом (било коју формулу која садржи функцију РАНД, РАНДБЕТВЕЕН или РАНДАРРАИ) и притисните Цтрл + Ц да бисте их копирали.
- Кликните десним тастером миша на изабрани опсег и кликните на Специјално налепи &гт; Вредности . Алтернативно, притисните Схифт + Ф10, а затим В , што је пречица за горе поменуту функцију.
За детаљне кораке погледајте Како претворити формуле у вредности у Екцел-у.
Екцел случајни избор: редови, колонеили ћелије
Ради у свим верзијама програма Екцел 365 до Екцел 2010.
Ако имате наш Ултимате Суите инсталиран у вашем Екцел-у, онда можете да вршите насумично узорковање помоћу клик мишем уместо формуле. Ево како:
- На картици Алатке Аблебитс кликните на Насумично &гт; Изабери насумично .
- Изабери опсег из којег желите да изаберете узорак.
- У окну програмског додатка урадите следеће:
- Изаберите да ли желите да изаберете насумичне редове, колоне или ћелије.
- Дефинишите величину узорка: то може бити проценат или број.
- Кликните на дугме Изабери .
То је то! Као што је приказано на слици испод, насумични узорак се бира директно у вашем скупу података. Ако желите да га копирате негде, само притисните обичну пречицу за копирање (Цтрл + Ц) .
Тако можете изабрати насумични узорак у Екцел-у без дупликата. Захваљујем вам што сте читали и надам се да се видимо на нашем блогу следеће недеље!
Доступна преузимања
Насумични узорак без дупликата - примери формула (.клск датотека)
Ултимате Суите 14-дневна потпуно функционална верзија (.еке датотека)