Com obtenir una mostra aleatòria a Excel sense duplicats

  • Comparteix Això
Michael Brown

El tutorial se centra en com fer un mostreig aleatori a Excel sense repeticions. Trobareu solucions per a Excel 365, Excel 2021, Excel 2019 i versions anteriors.

Fa un temps, vam descriure algunes maneres diferents de seleccionar aleatòriament a Excel. La majoria d'aquestes solucions es basen en les funcions RAND i RANDBETWEEN, que poden generar números duplicats. En conseqüència, la vostra mostra aleatòria pot contenir valors que es repeteixen. Si necessiteu una selecció aleatòria sense duplicats, feu servir els enfocaments descrits en aquest tutorial.

    Excel la selecció aleatòria de la llista sense duplicats

    Només funciona en Excel 365 i Excel 2021 que admeten matrius dinàmiques.

    Per fer una selecció aleatòria d'una llista sense repeticions, utilitzeu aquesta fórmula genèrica:

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

    On n és la mida de selecció desitjada.

    Per exemple, per obtenir 5 noms aleatoris únics de la llista d'A2:A10, aquí teniu la fórmula a utilitzar:

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

    Per comoditat, podeu introduir la mida de la mostra en un cel·la predefinida, per exemple C2, i proporcioneu la referència de cel·la a la funció SEQUÈNCIA:

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

    Com funciona aquesta fórmula:

    Aquí hi ha una explicació d'alt nivell de la lògica de la fórmula: la funció RANDARRAY crea una matriu de nombres aleatoris, SORTBY ordena els valors originals per aquests nombres i INDEX recupera tants valors comespecificat per SEQUENCE.

    A continuació es mostra un desglossament detallat:

    La funció ROWS compta el nombre de files que conté el vostre conjunt de dades i passa el recompte a la funció RANDARRAY, de manera que pot generar el mateix nombre de decimals aleatoris:

    RANDARRAY(ROWS(A2:C10))

    Aquesta matriu de decimals aleatoris s'utilitza com a matriu "ordena per" per la funció SORTBY. Com a resultat, les vostres dades originals es barregen aleatòriament.

    De les dades ordenades aleatòriament, extreu una mostra d'una mida específica. Per a això, proporcioneu la matriu barrejada a la funció INDEX i demaneu recuperar els primers valors N amb l'ajuda de la funció SEQUENCE, que produeix una seqüència de nombres de l'1 a N . Com que les dades originals ja estan ordenades en ordre aleatori, no ens importa realment quines posicions recuperarem, només importa la quantitat.

    Seleccioneu files aleatòries a Excel sense duplicats

    Només funciona a Excel 365 i Excel 2021 que admeten matrius dinàmiques.

    Per seleccionar files aleatòries sense repeticions, creeu una fórmula d'aquesta manera:

    INDEX(SORTBY( dades, RANDARRAY(FILES( dades))), SEQUENCE( n), {1,2,...})

    On n és la mida de la mostra i {1,2,...} són números de columna per extreure.

    Com a exemple, seleccionem files aleatòries d'A2:C10 sense entrades duplicades, segons la mida de la mostra a F1. Com que les nostres dades estan en 3 columnes, proporcionem aquesta constant de matriu a la fórmula:{1,2,3}

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

    I obteniu el resultat següent:

    Com funciona aquesta fórmula:

    La fórmula funciona exactament amb la mateixa lògica que l'anterior. Un petit canvi que fa una gran diferència és que especifiqueu tant els arguments row_num com column_num per a la funció INDEX: row_num s'ofereixen per SEQUENCE i column_num per la constant de matriu.

    Com fer un mostreig aleatori a Excel 2010 - 2019

    Com que només Excel per a Microsoft 365 i Excel 2021 admeten matrius dinàmiques, les funcions de matriu dinàmiques que s'utilitzen a els exemples anteriors només funcionen a Excel 365. Per a altres versions, haureu de trobar una solució diferent.

    Suposant que voleu una selecció aleatòria de la llista d'A2:A10. Això es pot fer amb 2 fórmules separades:

    1. Genereu nombres aleatoris amb la fórmula Rand. En el nostre cas, l'introduïm a B2 i després copiem a B10:

      =RAND()

    2. Extreure el primer valor aleatori amb la fórmula següent, que introduïu a E2:

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

    3. Copieu la fórmula anterior a tantes cel·les quants valors aleatoris vulgueu escollir. En aquest exemple, volem 4 noms, així que copiem la fórmula de E2 a E5.

    Fet! La nostra mostra aleatòria sense duplicats té el següent aspecte:

    Com funciona aquesta fórmula:

    Com en el primer exemple, feu servir el Funció INDEX per recuperar valors de la columna A basats en una fila aleatòrianombres. La diferència està en com obteniu aquests números:

    La funció RAND omple l'interval B2:B10 amb decimals aleatoris.

    La funció RANK.EQ calcula el rang d'un nombre aleatori en un determinat nombre. fila. Per exemple, a E2, RANK.EQ(B2, $B$2:$B$10) classifica el nombre de B2 amb tots els nombres de B2:B10. Quan es copia a E3, la referència relativa B2 canvia a B3 i retorna el rang del nombre a B3, i així successivament.

    La funció COUNTIF troba quantes ocurrències d'un nombre determinat hi ha a les cel·les anteriors. Per exemple, a E2, COUNTIF($B$2:B2, B2) comprova només una cel·la: la mateixa B2, i retorna 1. A E5, la fórmula canvia a COUNTIF($B$2:B5, B5) i retorna 2, perquè B5 conté el mateix valor que B2 (tingueu en compte que això només és per explicar millor la lògica de la fórmula; en un conjunt de dades petit, les possibilitats d'obtenir nombres aleatoris duplicats són properes a zero).

    Com a resultat, per a tots En primer lloc, COUNTIF retorna 1, del qual se'n resta 1 per mantenir la classificació original. Per a les segones ocurrències, COUNTIF retorna 2. En restar 1, incrementeu la classificació en 1, evitant així classificacions duplicades.

    Per exemple, per a B2, RANK.EQ retorna 1. Com que aquesta és la primera ocurrència, COUNTIF també retorna 1. RANK.EQ + COUNTIF dóna 2. I - 1 restaura el rang 1.

    Ara, mireu què passa en cas de la 2a ocurrència. Per a B5, RANK.EQ també retorna 1, mentre que COUNTIF retorna 2. Sumant això dóna3, del qual resteu 1. Com a resultat final, obteniu 2, que representa el rang del nombre de B5.

    El rang passa a l'argument núm_fila de la funció INDEX , i tria el valor de la fila corresponent (s'omet l'argument column_num , de manera que el valor predeterminat és 1). Aquesta és la raó per la qual és tan important evitar la classificació duplicada. Si no fos per la funció COUNTIF, RANK.EQ donaria 1 tant per a B2 com per a B5, fent que INDEX torni el valor de la primera fila (Andrew) dues vegades.

    Com evitar que la mostra aleatòria d'Excel canviï

    Com que totes les funcions d'aleatorització d'Excel com RAND, RANDBETWEEN i RANDARRAY són volàtils, es tornen a calcular amb cada canvi al full de treball. Com a resultat, la vostra mostra aleatòria canviarà contínuament. Per evitar que això passi, utilitzeu l'opció Enganxa especial > Funció de valors per substituir fórmules per valors estàtics. Per a això, seguiu aquests passos:

    1. Seleccioneu totes les cel·les amb la vostra fórmula (qualsevol fórmula que contingui la funció RAND, RANDBETWEEN o RANDARRAY) i premeu Ctrl + C per copiar-les.
    2. Feu clic amb el botó dret a l'interval seleccionat i feu clic a Enganxa especial > Valors . Alternativament, premeu Maj + F10 i després V , que és la drecera per a la funció esmentada anteriorment.

    Per obtenir els passos detallats, vegeu Com convertir fórmules en valors a Excel.

    Selecció aleatòria d'Excel: files, columneso cel·les

    Funciona en totes les versions d'Excel 365 a Excel 2010.

    Si teniu instal·lada la nostra Ultimate Suite a l'Excel, podeu fer un mostreig aleatori amb un clic del ratolí en lloc d'una fórmula. A continuació us indiquem com:

    1. A la pestanya Eines d'Ablebits , feu clic a Atzar > Seleccioneu aleatòriament .
    2. Seleccioneu l'interval del qual voleu escollir una mostra.
    3. Al panell del complement, feu el següent:
      • Trieu si voleu seleccionar files, columnes o cel·les aleatòries.
      • Definiu la mida de la mostra: pot ser un percentatge o un nombre.
      • Feu clic al botó Selecciona .

    Això és això! Com es mostra a la imatge següent, es selecciona una mostra aleatòria directament al vostre conjunt de dades. Si voleu copiar-lo en algun lloc, només heu de prémer una drecera de còpia normal (Ctrl + C) .

    Així és com seleccionar una mostra aleatòria a Excel sense duplicats. Us agraeixo la lectura i espero veure-us al nostre bloc la setmana vinent!

    Descàrregues disponibles

    Mostra aleatòria sense duplicats: exemples de fórmules (fitxer .xlsx)

    Ultimate Suite Versió totalment funcional de 14 dies (fitxer .exe)

    Michael Brown és un entusiasta de la tecnologia dedicat amb una passió per simplificar processos complexos mitjançant eines de programari. Amb més d'una dècada d'experiència en la indústria tecnològica, ha perfeccionat les seves habilitats en Microsoft Excel i Outlook, així com en Google Sheets i Docs. El bloc de Michael es dedica a compartir els seus coneixements i experiència amb altres persones, oferint consells i tutorials fàcils de seguir per millorar la productivitat i l'eficiència. Tant si sou un professional experimentat com si sou un principiant, el bloc de Michael ofereix valuoses idees i consells pràctics per treure el màxim profit d'aquestes eines de programari essencials.