Sådan får du en tilfældig prøve i Excel uden dubletter

  • Del Dette
Michael Brown

Vejledningen fokuserer på, hvordan man laver tilfældig stikprøveudtagning i Excel uden gentagelser. Du finder løsninger til Excel 365, Excel 2021, Excel 2019 og tidligere versioner.

For et stykke tid siden beskrev vi et par forskellige måder at foretage en tilfældig udvælgelse i Excel. De fleste af disse løsninger er baseret på funktionerne RAND og RANDBETWEEN, som kan generere dubletter. Derfor kan din tilfældige stikprøve indeholde gentagende værdier. Hvis du har brug for en tilfældig udvælgelse uden dubletter, skal du bruge de metoder, der er beskrevet i denne vejledning.

    Excel tilfældigt valg fra listen uden dubletter

    Virker kun i Excel 365 og Excel 2021, der understøtter dynamiske arrays.

    Hvis du vil foretage et tilfældigt valg fra en liste uden gentagelser, skal du bruge denne generiske formel:

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

    Hvor n er den ønskede valgstørrelse.

    Hvis du f.eks. vil få 5 unikke tilfældige navne fra listen i A2:A10, skal du bruge følgende formel:

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

    For nemheds skyld kan du indtaste stikprøvestørrelsen i en foruddefineret celle, f.eks. C2, og angive cellereferencen til SEQUENCE-funktionen:

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

    Sådan fungerer denne formel:

    Her er en forklaring på formelens logik på højt niveau: Funktionen RANDARRAY opretter et array af tilfældige tal, SORTBY sorterer de oprindelige værdier efter disse tal, og INDEX henter så mange værdier som angivet i SEQUENCE.

    Nedenfor følger en detaljeret oversigt:

    Funktionen ROWS tæller, hvor mange rækker dit datasæt indeholder, og sender tallet videre til funktionen RANDARRAY, så den kan generere det samme antal tilfældige decimaler:

    RANDARRAY(RÆKKER(A2:C10))

    Dette array af tilfældige decimaler bruges som arrayet "sortere efter" af funktionen SORTBY. Resultatet er, at dine oprindelige data blandes tilfældigt.

    Fra de tilfældigt sorterede data udtrækkes en prøve af en bestemt størrelse. Til dette formål leverer du det blandede array til INDEX-funktionen og anmoder om at hente den første N værdier ved hjælp af SEQUENCE-funktionen, som producerer en sekvens af tal fra 1 til N Da de oprindelige data allerede er sorteret i tilfældig rækkefølge, er vi egentlig ligeglade med, hvilke positioner der skal hentes, kun mængden er vigtig.

    Vælg tilfældige rækker i Excel uden dubletter

    Virker kun i Excel 365 og Excel 2021, der understøtter dynamiske arrays.

    Hvis du vil vælge tilfældige rækker uden gentagelser, skal du opbygge en formel på denne måde:

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

    Hvor n er stikprøvens størrelse, og {1,2,...} er de kolonnumre, der skal udtrækkes.

    Lad os f.eks. vælge tilfældige rækker fra A2:C10 uden dobbeltposter baseret på stikprøvestørrelsen i F1. Da vores data er i 3 kolonner, angiver vi denne arraykonstant til formlen: {1,2,3}

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

    Og får følgende resultat:

    Sådan fungerer denne formel:

    Formlen fungerer med nøjagtig samme logik som den foregående. En lille ændring, der gør en stor forskel, er, at du angiver både row_num og kolonne_nummer argumenter for INDEX-funktionen: row_num leveres af SEQUENCE og kolonne_nummer med arraykonstanten.

    Sådan laver du tilfældig stikprøveudtagning i Excel 2010 - 2019

    Da kun Excel til Microsoft 365 og Excel 2021 understøtter dynamiske arrays, fungerer de dynamiske array-funktioner, der blev brugt i de foregående eksempler, kun i Excel 365. For andre versioner skal du finde en anden løsning.

    Hvis du vil have et tilfældigt valg fra listen i A2:A10, kan dette gøres med 2 separate formler:

    1. Generer tilfældige tal med Rand-formlen. I vores tilfælde indtaster vi den i B2 og kopierer den derefter ned til B10:

      =RAND()

    2. Udtræk den første tilfældige værdi med nedenstående formel, som du indtaster i E2:

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

    3. Kopier ovenstående formel til lige så mange celler, som du vil vælge tilfældige værdier. I dette eksempel vil vi have 4 navne, så vi kopierer formlen fra E2 til E5.

    Færdig! Vores tilfældige stikprøve uden dubletter ser således ud:

    Sådan fungerer denne formel:

    Ligesom i det første eksempel bruger du INDEX-funktionen til at hente værdier fra kolonne A baseret på tilfældige rækketal. Forskellen ligger i, hvordan du får disse tal:

    Funktionen RAND fylder området B2:B10 med tilfældige decimaler.

    Funktionen RANK.EQ beregner rangordenen for et tilfældigt tal i en given række. I E2 rangerer RANK.EQ(B2, $B$2:$B$10) f.eks. tallet i B2 i forhold til alle tallene i B2:B10. Når den kopieres til E3, ændres den relative reference B2 til B3 og returnerer rangordenen for tallet i B3 og så videre.

    COUNTIF-funktionen finder ud af, hvor mange forekomster af et givet tal der er i ovenstående celler. I E2 kontrollerer COUNTIF($B$2:B2, B2) f.eks. kun én celle - B2 selv - og returnerer 1. I E5 ændres formlen til COUNTIF($B$2:B5, B5) og returnerer 2, fordi B5 indeholder den samme værdi som B2 (bemærk venligst, at dette kun er for bedre at forklare formlens logik; på et lille datasæt er chancen for at fåduplikerede tilfældige tal er tæt på nul).

    Resultatet er, at COUNTIF for alle første forekomster returnerer 1, som du trækker 1 fra for at beholde den oprindelige rangordning. For anden forekomst returnerer COUNTIF 2. Ved at trække 1 fra, øger du rangordningen med 1, hvilket forhindrer dobbeltrangering.

    For B2 giver RANK.EQ f.eks. 1. Da dette er den første forekomst, giver COUNTIF også 1. RANK.EQ + COUNTIF giver 2. Og - 1 genopretter rang 1.

    Se nu, hvad der sker i tilfælde af den anden forekomst. For B5 giver RANK.EQ også 1, mens COUNTIF giver 2. Ved at lægge dem sammen får man 3, som man trækker 1 fra. Som slutresultat får man 2, som repræsenterer rang af tallet i B5.

    Rangen går til den row_num argumentet i INDEX-funktionen, og den vælger værdien fra den tilsvarende række (den kolonne_nummer Argumentet er udeladt, så det er standardværdien 1). Dette er grunden til, at det er så vigtigt at undgå dobbelt rangering. Hvis det ikke var for COUNTIF-funktionen, ville RANK.EQ give 1 for både B2 og B5, hvilket ville få INDEX til at returnere værdien fra den første række (Andrew) to gange.

    Sådan forhindrer du, at Excel tilfældig stikprøve ændres

    Da alle randomiseringsfunktioner i Excel, såsom RAND, RANDBETWEEN og RANDARRAY, er flygtige, genberegnes de ved hver ændring på regnearket. Som følge heraf vil din tilfældige stikprøve løbende ændre sig. For at forhindre dette, skal du bruge funktionen Indsæt special> Værdier til at erstatte formler med statiske værdier. For at gøre dette skal du udføre disse trin:

    1. Vælg alle cellerne med din formel (enhver formel, der indeholder funktionen RAND, RANDBETWEEN eller RANDARRAY), og tryk på Ctrl + C for at kopiere dem.
    2. Højreklik på det valgte område, og klik på Indsæt specielt > Værdier Du kan også trykke på Shift + F10 og derefter på V , som er genvejen til ovennævnte funktion.

    Du kan finde de detaljerede trin under Sådan konverteres formler til værdier i Excel.

    Excel tilfældigt valg: rækker, kolonner eller celler

    Virker i alle versioner af Excel 365 til og med Excel 2010.

    Hvis du har vores Ultimate Suite installeret i Excel, kan du lave tilfældige stikprøver med et museklik i stedet for en formel. Her er hvordan:

    1. På den Ablebits-værktøjer klikker du på Randomiser > Vælg tilfældigt .
    2. Vælg det område, som du vil vælge en prøve fra.
    3. Gør følgende i tilføjelsesruden i tilføjelsesprogrammet:
      • Vælg, om du vil vælge tilfældige rækker, kolonner eller celler.
      • Definer stikprøvens størrelse: det kan være en procentdel eller et tal.
      • Klik på den Vælg knap.

    Som vist på billedet nedenfor er der valgt en tilfældig prøve direkte i dit datasæt. Hvis du vil kopiere den et andet sted hen, skal du blot trykke på en almindelig genvej til at kopiere (Ctrl + C) .

    Sådan vælger du en tilfældig stikprøve i Excel uden dubletter. Jeg takker for din læsning og håber at se dig på vores blog i næste uge!

    Tilgængelige downloads

    Tilfældig stikprøve uden dubletter - formeleksempler (.xlsx-fil)

    Ultimate Suite 14-dages fuldt funktionsdygtig version (.exe-fil)

    Michael Brown er en dedikeret teknologientusiast med en passion for at forenkle komplekse processer ved hjælp af softwareværktøjer. Med mere end ti års erfaring i teknologibranchen har han finpudset sine færdigheder i Microsoft Excel og Outlook samt Google Sheets og Docs. Michaels blog er dedikeret til at dele sin viden og ekspertise med andre og giver nemme at følge tips og vejledninger til at forbedre produktiviteten og effektiviteten. Uanset om du er en erfaren professionel eller nybegynder, tilbyder Michaels blog værdifuld indsigt og praktiske råd til at få mest muligt ud af disse vigtige softwareværktøjer.