Як атрымаць выпадковы ўзор у Excel без дублікатаў

  • Падзяліцца Гэтым
Michael Brown

Падручнік прысвечаны таму, як рабіць выпадковую выбарку ў Excel без паўтораў. Вы знойдзеце рашэнні для Excel 365, Excel 2021, Excel 2019 і больш ранніх версій.

Некаторы час таму мы апісвалі некалькі розных спосабаў выпадковага выбару ў Excel. Большасць з гэтых рашэнняў абапіраюцца на функцыі RAND і RANDBETWEEN, якія могуць ствараць дублікаты лікаў. Такім чынам, ваша выпадковая выбарка можа ўтрымліваць паўтаральныя значэнні. Калі вам патрэбны выпадковы выбар без дублікатаў, выкарыстоўвайце падыходы, апісаныя ў гэтым уроку.

    Выпадковы выбар Excel са спісу без дублікатаў

    Працуе толькі ў Excel 365 і Excel 2021, якія падтрымліваюць дынамічныя масівы.

    Каб зрабіць выпадковы выбар са спісу без паўтораў, выкарыстоўвайце наступную агульную формулу:

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

    Дзе n жаданы памер выбару.

    Напрыклад, каб атрымаць 5 унікальных выпадковых імёнаў са спісу ў A2:A10, прывядзіце наступную формулу:

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

    Для зручнасці вы можаце ўвесці памер выбаркі ў загадзя вызначаную ячэйку, скажам, C2, і падайце спасылку на ячэйку функцыі SEQUENCE:

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

    Як працуе гэтая формула:

    Вось высокаўзроўневае тлумачэнне логікі формулы: функцыя RANDARRAY стварае масіў выпадковых лікаў, SORTBY сартуе зыходныя значэнні па гэтых ліках, а INDEX атрымлівае столькі значэнняў, кольківызначана SEQUENCE.

    Падрабязная разбіўка прыведзена ніжэй:

    Функцыя ROWS падлічвае, колькі радкоў утрымлівае ваш набор даных, і перадае падлік у функцыю RANDARRAY, каб яна магла стварыць такую ​​ж колькасць выпадковыя дзесятковыя знакі:

    RANDARRAY(ROWS(A2:C10))

    Гэты масіў выпадковых дзесятковых знакаў выкарыстоўваецца як масіў "сартаваць па" функцыяй SORTBY. У выніку вашы зыходныя даныя ператасоўваюцца выпадковым чынам.

    З адсартаваных у выпадковым парадку даных вы вылучыце выбарку пэўнага памеру. Для гэтага вы перадаеце ператасаваны масіў функцыі INDEX і запытваеце атрымаць першыя значэнні N з дапамогай функцыі SEQUENCE, якая стварае паслядоўнасць лікаў ад 1 да N . Паколькі зыходныя даныя ўжо адсартаваныя ў выпадковым парадку, нас сапраўды не цікавіць, якія пазіцыі атрымаць, важная толькі колькасць.

    Выбірайце выпадковыя радкі ў Excel без дублікатаў

    Працуе толькі у Excel 365 і Excel 2021, якія падтрымліваюць дынамічныя масівы.

    Каб выбраць выпадковыя радкі без паўтораў, пабудуйце формулу наступным чынам:

    INDEX(SORTBY( data, RANDARRAY(ROWS( data))), SEQUENCE( n), {1,2,…})

    Дзе n - памер выбаркі і {1,2,…} — гэта нумары слупкоў для вылучэння.

    У якасці прыкладу давайце абярэм выпадковыя радкі з A2:C10 без дублікатаў, заснаваныя на памеры выбаркі ў F1. Паколькі нашы даныя знаходзяцца ў 3 слупках, мы дадаем гэтую канстанту масіва ў формулу:{1,2,3}

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

    І атрымаем наступны вынік:

    Як працуе гэтая формула:

    Формула працуе дакладна з той жа логікай, што і папярэдняя. Невялікая змена, якая мае вялікае значэнне, заключаецца ў тым, што вы вызначаеце аргументы row_num і column_num для функцыі INDEX: row_num забяспечваецца SEQUENCE і column_num канстантай масіва.

    Як зрабіць выпадковую выбарку ў Excel 2010 - 2019

    Паколькі толькі Excel для Microsoft 365 і Excel 2021 падтрымліваюць дынамічныя масівы, функцыі дынамічнага масіва, якія выкарыстоўваюцца ў папярэднія прыклады працуюць толькі ў Excel 365. Для іншых версій вам трэба будзе выпрацаваць іншае рашэнне.

    Выкажам здагадку, што вам патрэбны выпадковы выбар са спісу ў A2:A10. Гэта можна зрабіць з дапамогай 2 асобных формул:

    1. Стварыце выпадковыя лікі з дапамогай формулы Rand. У нашым выпадку мы ўводзім яго ў B2, а потым капіруем у B10:

      =RAND()

    2. Вылучыце першае выпадковае значэнне з дапамогай формулы ніжэй, якую вы ўводзіце ў E2:

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

    3. Скапіруйце прыведзеную вышэй формулу ў столькі ячэек, колькі выпадковых значэнняў вы хочаце выбраць. У гэтым прыкладзе нам патрэбныя 4 назвы, таму мы капіруем формулу з E2 па E5.

    Гатова! Наша выпадковая выбарка без дублікатаў выглядае наступным чынам:

    Як працуе гэтая формула:

    Як і ў першым прыкладзе, вы выкарыстоўваеце Функцыя INDEX для атрымання значэнняў са слупка A на аснове выпадковага радкалічбы. Розніца ў тым, як вы атрымліваеце гэтыя лічбы:

    Функцыя RAND запаўняе дыяпазон B2:B10 выпадковымі дзесятковымі знакамі.

    Функцыя RANK.EQ вылічае ранг выпадковага ліку ў зададзеным шэраг. Напрыклад, у E2 RANK.EQ(B2, $B$2:$B$10) ранжыруе лік у B2 адносна ўсіх лікаў у B2:B10. Пры капіраванні ў E3 адносная спасылка B2 змяняецца на B3 і вяртае ранг ліку ў B3, і гэтак далей.

    Функцыя COUNTIF знаходзіць, колькі ўваходжанняў дадзенага ліку ёсць у вышэйзгаданых ячэйках. Напрыклад, у E2 COUNTIF($B$2:B2, B2) правярае толькі адну ячэйку - саму B2, і вяртае 1. У E5 формула змяняецца на COUNTIF($B$2:B5, B5) і вяртае 2, таму што B5 змяшчае тое ж значэнне, што і B2 (звярніце ўвагу, гэта толькі для лепшага тлумачэння логікі формулы; на невялікім наборы даных шанцы атрымаць дублікаты выпадковых лікаў блізкія да нуля).

    У выніку для ўсіх 1-е ўваходжанне, COUNTIF вяртае 1, з якога вы адымаеце 1, каб захаваць зыходны рэйтынг. Для 2-га ўваходжання COUNTIF вяртае 2. Аднімаючы 1, вы павялічваеце рэйтынг на 1, прадухіляючы тым самым дубляванне рангаў.

    Напрыклад, для B2 RANK.EQ вяртае 1. Паколькі гэта першае з'яўленне, COUNTIF таксама вяртае 1. RANK.EQ + COUNTIF дае 2. І - 1 аднаўляе ранг 1.

    Цяпер паглядзім, што адбудзецца ў выпадку другога з'яўлення. Для B5 RANK.EQ таксама вяртае 1, а COUNTIF вяртае 2. Сумаванне іх дае3, з якога вы аднімеце 1. У якасці канчатковага выніку вы атрымаеце 2, які ўяўляе сабой ранг ліку ў B5.

    Ранг пераходзіць у аргумент row_num функцыі INDEX , і ён выбірае значэнне з адпаведнага радка (аргумент column_num апушчаны, таму па змаўчанні ён роўны 1). Гэта прычына, чаму так важна пазбягаць дублікатаў рэйтынгу. Калі б не функцыя COUNTIF, RANK.EQ даваў бы 1 як для B2, так і для B5, у выніку чаго INDEX двойчы вяртаў бы значэнне з першага радка (Андрэй).

    Як прадухіліць змяненне выпадковай выбаркі Excel

    Паколькі ўсе рандомізуючыя функцыі ў Excel, такія як RAND, RANDBETWEEN і RANDARRAY, нестабільныя, яны пераразлічваюцца з кожнай зменай на аркушы. У выніку ваша выпадковая выбарка будзе пастаянна змяняцца. Каб гэтага не адбылося, выкарыстоўвайце Спецыяльную ўстаўку > Функцыя значэнняў для замены формул статычнымі значэннямі. Для гэтага выканайце наступныя дзеянні:

    1. Вылучыце ўсе ячэйкі з вашай формулай (любую формулу, якая змяшчае функцыю RAND, RANDBETWEEN або RANDARRAY) і націсніце Ctrl + C, каб скапіяваць іх.
    2. Пстрыкніце правай кнопкай мышы выбраны дыяпазон і націсніце Спецыяльная ўстаўка > Значэнні . Альбо націсніце Shift + F10, а затым V , які з'яўляецца ярлыком для вышэйзгаданай функцыі.

    Для падрабязных крокаў, калі ласка, глядзіце Як пераўтварыць формулы ў значэнні ў Excel.

    Выпадковы выбар Excel: радкі, слупкіабо клеткі

    Працуе ва ўсіх версіях Excel 365 да Excel 2010.

    Калі ў вашым Excel усталяваны наш Ultimate Suite, вы можаце рабіць выпадковую выбарку з дапамогай пстрычка мышы замест формулы. Вось як:

    1. На ўкладцы Ablebits Tools націсніце Randomize > Select Randomly .
    2. Выберыце дыяпазон, з якога вы хочаце выбраць узор.
    3. На панэлі надбудовы зрабіце наступнае:
      • Выберыце, ці хочаце вы выбіраць выпадковыя радкі, слупкі або ячэйкі.
      • Вызначце памер выбаркі: гэта можа быць працэнт або лік.
      • Націсніце кнопку Выбраць .

    Гэта гэта! Як паказана на малюнку ніжэй, выпадковая выбарка выбіраецца непасрэдна ў вашым наборы даных. Калі вы жадаеце скапіяваць яго куды-небудзь, проста націсніце звычайны ярлык капіявання (Ctrl + C).

    Вось як выбраць выпадковы ўзор у Excel без дублікатаў. Я дзякую вам за чытанне і спадзяюся ўбачыць вас у нашым блогу на наступным тыдні!

    Даступныя спампоўкі

    Выпадковы ўзор без дублікатаў - прыклады формул (.xlsx файл)

    Ultimate Suite 14-дзённая поўнафункцыянальная версія (файл .exe)

    Майкл Браўн - адданы энтузіяст тэхналогій, які любіць спрашчэнне складаных працэсаў з дапамогай праграмных інструментаў. Маючы больш чым дзесяцігадовы досвед працы ў індустрыі тэхналогій, ён удасканальваў свае навыкі ў Microsoft Excel і Outlook, а таксама ў Google Sheets і Docs. Блог Майкла прысвечаны таму, каб падзяліцца сваімі ведамі і вопытам з іншымі, даючы простыя ў выкананні парады і падручнікі для павышэння прадукцыйнасці і эфектыўнасці. Незалежна ад таго, з'яўляецеся вы дасведчаным прафесіяналам або пачаткоўцам, блог Майкла прапануе каштоўную інфармацыю і практычныя парады, каб атрымаць максімальную аддачу ад гэтых неабходных праграмных інструментаў.