Hoe krijg ik een willekeurige steekproef in Excel zonder duplicaten

  • Deel Dit
Michael Brown

De tutorial richt zich op hoe u willekeurige steekproeven kunt doen in Excel zonder herhalingen. U vindt oplossingen voor Excel 365, Excel 2021, Excel 2019 en eerdere versies.

Een tijdje geleden hebben we een paar verschillende manieren beschreven om willekeurig te selecteren in Excel. De meeste van die oplossingen berusten op de functies RAND en RANDBETWEEN, die dubbele getallen kunnen genereren. Bijgevolg kan uw willekeurige steekproef herhalende waarden bevatten. Als u een willekeurige selectie zonder doublures nodig hebt, gebruik dan de benaderingen die in deze handleiding worden beschreven.

    Excel willekeurige selectie uit lijst zonder doublures

    Werkt alleen in Excel 365 en Excel 2021 die dynamische matrices ondersteunen.

    Om een willekeurige selectie te maken uit een lijst zonder herhalingen, gebruikt u deze algemene formule:

    INDEX(SORTBY( gegevens , RANDARRAY(RIJEN( gegevens )), SEQUENCE( n ))

    Waar n is de gewenste selectiegrootte.

    Om bijvoorbeeld 5 unieke willekeurige namen te krijgen uit de lijst in A2:A10, gebruikt u de volgende formule:

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

    Gemakshalve kunt u de steekproefgrootte invoeren in een vooraf gedefinieerde cel, bijvoorbeeld C2, en de celverwijzing doorgeven aan de SEQUENCE-functie:

    =INDEX(SORTBY(A2:A10, RANDARRAY(RIJEN(A2:A10))), SEQUENTIE(C2))

    Hoe deze formule werkt:

    Hier volgt een algemene uitleg van de logica van de formule: de functie RANDARRAY maakt een array van willekeurige getallen, SORTBY sorteert de oorspronkelijke waarden op die getallen, en INDEX haalt zoveel waarden op als gespecificeerd door SEQUENCE.

    Hieronder volgt een gedetailleerd overzicht:

    De functie ROWS telt hoeveel rijen uw gegevensverzameling bevat en geeft de telling door aan de functie RANDARRAY, zodat deze hetzelfde aantal willekeurige decimalen kan genereren:

    RANDARRAY(RIJEN(A2:C10))

    Deze array van willekeurige decimalen wordt gebruikt als de "sort by" array door de SORTBY functie. Het resultaat is dat uw oorspronkelijke gegevens willekeurig worden geschud.

    Uit de willekeurig gesorteerde gegevens haalt u een steekproef van een bepaalde grootte. Daartoe levert u de geschudde matrix aan de functie INDEX en vraagt u om de eerste N waarden met behulp van de functie SEQUENCE, die een reeks getallen produceert van 1 tot en met N Omdat de oorspronkelijke gegevens al in willekeurige volgorde zijn gesorteerd, maakt het ons niet veel uit welke posities moeten worden opgehaald, alleen de hoeveelheid is van belang.

    Selecteer willekeurige rijen in Excel zonder doublures

    Werkt alleen in Excel 365 en Excel 2021 die dynamische matrices ondersteunen.

    Om willekeurige rijen zonder herhalingen te selecteren, maakt u een formule op deze manier:

    INDEX(SORTBY( gegevens , RANDARRAY(RIJEN( gegevens )), SEQUENCE( n ), {1,2,...})

    Waar n is de steekproefgrootte en {1,2,...} zijn de te extraheren kolomnummers.

    Als voorbeeld selecteren we willekeurige rijen uit A2:C10 zonder dubbele invoer, gebaseerd op de steekproefgrootte in F1. Aangezien onze gegevens in 3 kolommen staan, geven we deze matrixconstante aan de formule: {1,2,3}

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

    En krijg het volgende resultaat:

    Hoe deze formule werkt:

    De formule werkt met precies dezelfde logica als de vorige. Een kleine verandering die een groot verschil maakt, is dat u zowel de rij_nummer en kolom_nummer argumenten voor de INDEX-functie: rij_nummer wordt geleverd door SEQUENCE en kolom_nummer door de matrixconstante.

    Hoe willekeurige steekproeven te doen in Excel 2010 - 2019

    Aangezien alleen Excel voor Microsoft 365 en Excel 2021 dynamische matrices ondersteunen, werken de dynamische matrixfuncties die in de vorige voorbeelden zijn gebruikt alleen in Excel 365. Voor andere versies zult u een andere oplossing moeten uitwerken.

    Stel dat u een willekeurige selectie wilt maken uit de lijst in A2:A10. Dat kan met 2 afzonderlijke formules:

    1. Genereer willekeurige getallen met de Rand-formule. In ons geval voeren we het in B2 in, en kopiëren het naar B10:

      =RAND()

    2. Extraheer de eerste willekeurige waarde met de onderstaande formule, die u invoert in E2:

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

    3. Kopieer de bovenstaande formule naar zoveel cellen als u willekeurige waarden wilt kiezen. In dit voorbeeld willen we 4 namen, dus kopiëren we de formule van E2 tot en met E5.

    Klaar! Onze willekeurige steekproef zonder duplicaten ziet er als volgt uit:

    Hoe deze formule werkt:

    Net als in het eerste voorbeeld gebruikt u de INDEX-functie om waarden uit kolom A op te halen op basis van willekeurige rijnummers. Het verschil is hoe u die nummers krijgt:

    De RAND-functie vult het bereik B2:B10 met willekeurige decimalen.

    De functie RANK.EQ berekent de rang van een willekeurig getal in een bepaalde rij. Bijvoorbeeld, in E2 rangschikt RANK.EQ(B2, $B$2:$B$10) het getal in B2 ten opzichte van alle getallen in B2:B10. Bij het kopiëren naar E3 verandert de relatieve referentie B2 in B3 en wordt de rang van het getal in B3 weergegeven, enzovoort.

    De COUNTIF-functie zoekt uit hoeveel keer een bepaald getal voorkomt in de bovenstaande cellen. Bijvoorbeeld, in E2, COUNTIF($B$2:B2, B2) controleert slechts één cel - B2 zelf, en geeft 1. In E5 verandert de formule in COUNTIF($B$2:B5, B5) en geeft 2 terug, omdat B5 dezelfde waarde bevat als B2 (let op, dit is alleen om de logica van de formule beter uit te leggen; op een kleine dataset is de kans dat udubbele willekeurige getallen zijn dicht bij nul).

    Als resultaat geeft COUNTIF voor alle 1e voorvallen 1 terug, waarvan u 1 aftrekt om de oorspronkelijke rangschikking te behouden. Voor 2e voorvallen geeft COUNTIF 2 terug. Door 1 af te trekken verhoogt u de rangschikking met 1, waardoor dubbele rangschikkingen worden voorkomen.

    Bijvoorbeeld, voor B2 geeft RANK.EQ 1. Omdat dit de eerste keer is, geeft COUNTIF ook 1. RANK.EQ + COUNTIF geeft 2. En - 1 herstelt de rang 1.

    Kijk nu wat er gebeurt in het geval van het tweede voorkomen. Voor B5 geeft RANK.EQ ook 1 en COUNTIF geeft 2. Deze optellen levert 3 op, waarvan u 1 aftrekt. Als eindresultaat krijgt u 2, dat de rang van het getal in B5 weergeeft.

    De rang gaat naar de rij_nummer argument van de INDEX-functie, en kiest de waarde uit de corresponderende rij (de kolom_nummer Dit is de reden waarom het zo belangrijk is om dubbele rangschikking te voorkomen. Zonder de COUNTIF-functie zou RANK.EQ 1 opleveren voor zowel B2 als B5, waardoor INDEX tweemaal de waarde van de eerste rij (Andrew) zou teruggeven.

    Hoe te voorkomen dat Excel willekeurige steekproef verandert

    Aangezien alle randomiseerfuncties in Excel zoals RAND, RANDBETWEEN en RANDARRAY vluchtig zijn, herberekenen zij bij elke wijziging op het werkblad. Dit heeft tot gevolg dat uw willekeurige steekproef voortdurend verandert. Om dit te voorkomen kunt u de functie Plakken speciaal> Waarden gebruiken om formules te vervangen door statische waarden. Voer hiervoor de volgende stappen uit:

    1. Selecteer alle cellen met uw formule (elke formule die de functie RAND, RANDBETWEEN of RANDARRAY bevat) en druk op Ctrl + C om ze te kopiëren.
    2. Klik met de rechtermuisknop op het geselecteerde bereik en klik op Speciaal plakken > Waarden Of druk op Shift + F10 en vervolgens op V , de snelkoppeling voor bovengenoemde functie.

    Voor de gedetailleerde stappen, zie Hoe formules te converteren naar waarden in Excel.

    Excel willekeurige selectie: rijen, kolommen of cellen

    Werkt in alle versies van Excel 365 tot en met Excel 2010.

    Als u onze Ultimate Suite hebt geïnstalleerd in uw Excel, dan kunt u willekeurige steekproeven doen met een muisklik in plaats van met een formule. Hier leest u hoe:

    1. Op de Ablebits Gereedschap tabblad, klik op Randomiseer > Selecteer willekeurig .
    2. Selecteer het bereik waaruit u een monster wilt nemen.
    3. Doe het volgende in het deelvenster van de invoegtoepassing:
      • Kies of u willekeurige rijen, kolommen of cellen wilt selecteren.
      • Bepaal de steekproefomvang: dat kan een percentage of een getal zijn.
      • Klik op de Selecteer knop.

    Dat is het! Zoals in de afbeelding hieronder te zien is, is een willekeurig monster direct in uw gegevensverzameling geselecteerd. Als u het ergens wilt kopiëren, drukt u gewoon op een gewone sneltoets voor kopiëren (Ctrl + C) .

    Dat is hoe je in Excel een willekeurige steekproef selecteert zonder duplicaten. Ik dank je voor het lezen en hoop je volgende week op onze blog te zien!

    Beschikbare downloads

    Willekeurige steekproef zonder duplicaten - formulevoorbeelden (.xlsx-bestand)

    Ultimate Suite 14 dagen volledig functionele versie (.exe bestand)

    Michael Brown is een toegewijde technologieliefhebber met een passie voor het vereenvoudigen van complexe processen met behulp van softwaretools. Met meer dan tien jaar ervaring in de technische industrie heeft hij zijn vaardigheden in Microsoft Excel en Outlook, evenals Google Spreadsheets en Documenten aangescherpt. Michael's blog is gewijd aan het delen van zijn kennis en expertise met anderen, met eenvoudig te volgen tips en tutorials voor het verbeteren van de productiviteit en efficiëntie. Of je nu een doorgewinterde professional of een beginner bent, Michaels blog biedt waardevolle inzichten en praktisch advies om het meeste uit deze essentiële softwaretools te halen.