Hoe om ewekansige steekproef in Excel te kry sonder duplikate

  • Deel Dit
Michael Brown

Die tutoriaal fokus op hoe om ewekansige steekproefneming in Excel te doen sonder herhalings. Jy sal oplossings vind vir Excel 365, Excel 2021, Excel 2019 en vroeër weergawes.

'n Rukkie gelede het ons 'n paar verskillende maniere beskryf om lukraak in Excel te selekteer. Die meeste van daardie oplossings maak staat op die RAND- en RANDBETWEEN-funksies, wat duplikaatgetalle kan genereer. Gevolglik kan jou ewekansige steekproef herhalende waardes bevat. As jy 'n ewekansige seleksie sonder duplikate benodig, gebruik dan die benaderings wat in hierdie tutoriaal beskryf word.

    Excel ewekansige seleksie uit lys sonder duplikate

    Werk net in Excel 365 en Excel 2021 wat dinamiese skikkings ondersteun.

    Om 'n ewekansige keuse uit 'n lys te maak sonder herhalings, gebruik hierdie generiese formule:

    INDEX(SORTBY( data, RANDARRAY(RYE( data))), VOLGORDE( n))

    Waar n die verlangde seleksiegrootte is.

    Byvoorbeeld, om 5 unieke ewekansige name uit die lys in A2:A10 te kry, is hier die formule om te gebruik:

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

    Geriefshalwe kan jy die steekproefgrootte in 'n invoer voorafbepaalde sel, sê C2, en verskaf die selverwysing na die SEQUENCE-funksie:

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

    Hoe hierdie formule werk:

    Hier is 'n hoëvlak verduideliking van die formule se logika: die RANDARRAY-funksie skep 'n skikking van ewekansige getalle, SORTBY sorteer die oorspronklike waardes volgens daardie getalle, en INDEX haal soveel waardes asgespesifiseer deur SEQUENCE.

    'n Gedetailleerde uiteensetting volg hieronder:

    Die ROWS-funksie tel hoeveel rye jou datastel bevat en gee die telling deur na die RANDARRAY-funksie, sodat dit dieselfde aantal ewekansige desimale:

    RANDARRAY(ROWS(A2:C10))

    Hierdie skikking van ewekansige desimale word gebruik as die "sorteer volgens" skikking deur die SORTBY-funksie. Gevolglik word jou oorspronklike data ewekansig geskommel.

    Uit die ewekansig gesorteerde data onttrek jy 'n steekproef van 'n spesifieke grootte. Hiervoor verskaf jy die geskommelde skikking aan die INDEX-funksie en versoek om die eerste N -waardes te herwin met behulp van die SEQUENCE-funksie, wat 'n reeks getalle van 1 tot N produseer . Omdat die oorspronklike data reeds in ewekansige volgorde gesorteer is, gee ons nie regtig om watter posisies om te herwin nie, net die hoeveelheid maak saak.

    Kies ewekansige rye in Excel sonder duplikate

    Werk net in Excel 365 en Excel 2021 wat dinamiese skikkings ondersteun.

    Om ewekansige rye sonder herhalings te kies, bou 'n formule op hierdie manier:

    INDEX(SORTBY( data, RANDARRAY(RYE( data))), VOLGORDE( n), {1,2,...})

    Waar n die steekproefgrootte en {1,2,…} is kolomnommers om te onttrek.

    As 'n voorbeeld, kom ons kies ewekansige rye van A2:C10 sonder duplikaatinskrywings, gebaseer op die steekproefgrootte in F1. Aangesien ons data in 3 kolomme is, verskaf ons hierdie skikkingskonstante aan die formule:{1,2,3}

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

    En kry die volgende resultaat:

    Hoe hierdie formule werk:

    Die formule werk met presies dieselfde logika as die vorige een. 'n Klein verandering wat 'n groot verskil maak, is dat jy beide die rygetal en kolom_getal argumente vir die INDEX-funksie spesifiseer: rygetal word verskaf deur SEQUENCE en column_num deur die skikkingskonstante.

    Hoe om ewekansige steekproefneming in Excel 2010 - 2019 te doen

    Aangesien slegs Excel vir Microsoft 365 en Excel 2021 dinamiese skikkings ondersteun, word die dinamiese skikkingsfunksies gebruik in die vorige voorbeelde werk net in Excel 365. Vir ander weergawes sal jy 'n ander oplossing moet uitwerk.

    Gestel jy wil 'n ewekansige keuse uit die lys in A2:A10 hê. Dit kan met 2 aparte formules gedoen word:

    1. Genereer ewekansige getalle met die Rand-formule. In ons geval voer ons dit in B2 in, en kopieer dan af na B10:

      =RAND()

    2. Onttrek die eerste ewekansige waarde met die onderstaande formule, wat jy in E2 invoer:

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

    3. Kopieer die formule hierbo na soveel selle as baie ewekansige waardes wat jy wil kies. In hierdie voorbeeld wil ons 4 name hê, daarom kopieer ons die formule van E2 tot E5.

    Klaar! Ons ewekansige steekproef sonder duplikate lyk soos volg:

    Hoe hierdie formule werk:

    Soos in die eerste voorbeeld, gebruik jy die INDEX-funksie om waardes uit kolom A te haal gebaseer op ewekansige rygetalle. Die verskil is in hoe jy daardie getalle kry:

    Die RAND-funksie vul die reeks B2:B10 met ewekansige desimale.

    Die RANK.EQ-funksie bereken die rangorde van 'n ewekansige getal in 'n gegewe getal ry. Byvoorbeeld, in E2, rangskik RANK.EQ(B2, $B$2:$B$10) die getal in B2 teenoor al die getalle in B2:B10. Wanneer dit na E3 gekopieer word, verander die relatiewe verwysing B2 na B3 en gee dit die rang van die getal in B3 terug, ensovoorts.

    Die COUNTIF-funksie vind hoeveel voorkomste van 'n gegewe getal daar in die selle hierbo is. Byvoorbeeld, in E2 kontroleer COUNTIF($B$2:B2, B2) net een sel - B2 self, en gee 1 terug. In E5 verander die formule na COUNTIF($B$2:B5, B5) en gee 2 terug, want B5 bevat dieselfde waarde as B2 (let wel, dit is net om die formule se logika beter te verduidelik; op 'n klein datastel is die kanse om duplikaat-ewekansige getalle te kry naby aan nul).

    As gevolg hiervan, vir alle 1ste gevalle, COUNTIF gee 1 terug, waarvan jy 1 aftrek om die oorspronklike rangorde te behou. Vir 2de gevalle gee COUNTIF 2 terug. Deur 1 af te trek, verhoog jy die rangorde met 1 en voorkom dus duplikaatrange.

    Byvoorbeeld, vir B2 gee RANK.EQ 1 terug. Aangesien dit die eerste voorkoms is, is COUNTIF ook gee 1. RANK.EQ + COUNTIF gee 2. En - 1 herstel die rang 1.

    Kyk nou wat gebeur in die geval van die 2de voorkoms. Vir B5 gee RANK.EQ ook 1 terug terwyl COUNTIF 2 gee.3, waarvan jy 1 aftrek. As die finale resultaat kry jy 2, wat die rangorde van die getal in B5 verteenwoordig.

    Die rang gaan na die ry_getal -argument van die INDEX-funksie , en dit kies die waarde uit die ooreenstemmende ry (die kolom_nommer -argument word weggelaat, dus is dit verstek op 1). Dit is die rede waarom dit so belangrik is om duplikaatranglys te vermy. As dit nie vir die COUNTIF-funksie was nie, sou RANK.EQ 1 vir beide B2 en B5 oplewer, wat veroorsaak dat INDEX die waarde van die eerste ry (Andrew) twee keer terugstuur.

    Hoe om te verhoed dat Excel-ewekansige steekproef verander

    Aangesien alle ewekansige funksies in Excel soos RAND, RANDBETWEEN en RANDARRAY wisselvallig is, herbereken hulle met elke verandering op die werkblad. As gevolg hiervan, sal jou ewekansige steekproef voortdurend verander. Om te voorkom dat dit gebeur, gebruik die Plak Spesiale > Waardes kenmerk om formules met statiese waardes te vervang. Voer hiervoor hierdie stappe uit:

    1. Kies al die selle met jou formule (enige formule wat RAND-, RANDBETWEEN- of RANDARRAY-funksie bevat) en druk Ctrl + C om hulle te kopieer.
    2. Regskliek op die geselekteerde reeks en klik Plak spesiaal > Waardes . Alternatiewelik, druk Shift + F10 en dan V , wat die kortpad is vir die bogenoemde kenmerk.

    Vir die gedetailleerde stappe, sien asseblief Hoe om formules na waardes in Excel om te skakel.

    Excel ewekansige keuse: rye, kolommeof selle

    Werk in alle weergawes van Excel 365 tot Excel 2010.

    As jy ons Ultimate Suite in jou Excel geïnstalleer het, dan kan jy ewekansige steekproefneming doen met 'n muisklik in plaas van 'n formule. Dit is hoe:

    1. Op die Ablebits Tools -oortjie, klik Randomize > Select Randomly .
    2. Kies die reeks waaruit jy 'n voorbeeld wil kies.
    3. Doen die volgende op die byvoeging se paneel:
      • Kies of jy ewekansige rye, kolomme of selle wil kies.
      • Definieer die steekproefgrootte: dit kan 'n persentasie of getal wees.
      • Klik op die Kies -knoppie.

    Dit is Dit! Soos in die prent hieronder getoon, word 'n ewekansige steekproef direk in jou datastel gekies. As jy dit iewers wil kopieer, druk net 'n gewone kopie-kortpad (Ctrl + C) .

    Dis hoe om 'n ewekansige steekproef in Excel te kies sonder duplikate. Ek bedank jou vir die lees en hoop om jou volgende week op ons blog te sien!

    Beskikbare aflaaie

    Ewekansige steekproef sonder duplikate - formulevoorbeelde (.xlsx-lêer)

    Ultimate Suite 14-dae ten volle funksionele weergawe (.exe-lêer)

    Michael Brown is 'n toegewyde tegnologie-entoesias met 'n passie om komplekse prosesse te vereenvoudig deur sagteware-instrumente te gebruik. Met meer as 'n dekade se ondervinding in die tegnologiebedryf, het hy sy vaardighede in Microsoft Excel en Outlook, sowel as Google Sheets en Docs, opgeskerp. Michael se blog is toegewy daaraan om sy kennis en kundigheid met ander te deel, en verskaf maklik-om-te volg wenke en tutoriale vir die verbetering van produktiwiteit en doeltreffendheid. Of jy nou 'n ervare professionele persoon of 'n beginner is, Michael se blog bied waardevolle insigte en praktiese raad om die meeste uit hierdie noodsaaklike sagteware-nutsmiddels te kry.