🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

Cómo seleccionar, muestrear y barajar filas al azar en Excel

|

Cómo seleccionar, muestrear y barajar filas al azar en Excel

En resumen — Toda extracción aleatoria en Excel es el mismo truco: da a cada fila un número aleatorio y luego ordena por ese número. Lo que tomes de arriba es una muestra aleatoria; el conjunto entero reordenado es una baraja. En Excel 365 es una sola fórmula — =TAKE(SORTBY(datos; MATRIZALEAT(FILAS(datos))); n) elige n filas al azar sin repetir. La única distinción que decide si tu muestra es válida: sin reemplazo (ordenar por aleatorio — cada extracción distinta) frente a con reemplazo (INDICE + ALEATORIO.ENTRE — las extracciones pueden repetirse). Y si ordenas por un ALEATORIO() vivo, congélalo a valores primero, o se resortea a mitad de la ordenación.

' Moderno (Excel 365) — elige 10 filas al azar, sin repetir:
=TAKE(SORTBY(A2:C500; MATRIZALEAT(FILAS(A2:C500))); 10)

' Baraja una lista entera a orden aleatorio:
=SORTBY(A2:A100; MATRIZALEAT(FILAS(A2:A100)))

' Clásico (cualquier versión) — columna auxiliar y luego ordenar por ella:
' B2:  =ALEATORIO()   luego Copiar → Pegar valores → ordenar por la columna B → tomar los N primeros

«Elegir unas filas al azar» suena trivial, y la fórmula casi lo es. Lo que separa una muestra aleatoria correcta de otra que parece correcta pero está mal es una única decisión que casi nadie se da cuenta de estar tomando: si la misma fila puede salir dos veces. Acierta en eso y la mecánica es fácil.

Lo que vas a aprender

  • El patrón universal: clave aleatoria → ordenar → tomar (todo es una variación de esto)
  • La fórmula moderna de una línea con SORTBY + MATRIZALEAT, y la clásica con columna auxiliar de ALEATORIO
  • La distinción que arruina las muestras: sin reemplazo frente a con reemplazo
  • La trampa de congelar-antes-de-ordenar que hace irreproducibles las muestras con ALEATORIO() vivo
  • Cómo repartir una lista en grupos aleatorios equilibrados (asignación aleatoria)

El único patrón detrás de todo: clave aleatoria → ordenar → tomar

Aquí en realidad solo hay una idea, y todos los métodos de abajo son un disfraz suyo:

  1. Adjunta un número aleatorio a cada fila.
  2. Ordena las filas por ese número aleatorio.
  3. Toma las que necesites de arriba (o tómalas todas, para barajar).

Como el orden es aleatorio, la parte de arriba de la lista es un subconjunto aleatorio, y la lista entera reordenada es una baraja. Eso es todo. Muestrear, barajar, sortear ganadores, repartir en equipos — todo eso es «ordenar por aleatoriedad y luego cortar». En cuanto lo ves, no memorizas cinco recetas; aplicas una.

La fórmula moderna de una línea (Excel 365)

En 365, MATRIZALEAT fabrica la clave aleatoria, SORTBY hace la ordenación y TAKE corta la parte de arriba — una fórmula, sin columna auxiliar, y derrama:

=SORTBY(A2:A100; MATRIZALEAT(FILAS(A2:A100)))            ' baraja la lista entera
=TAKE(SORTBY(A2:C500; MATRIZALEAT(FILAS(A2:C500))); 10)  ' 10 filas al azar, todas las columnas

MATRIZALEAT(FILAS(rango)) genera exactamente una clave aleatoria por fila; SORTBY reordena las filas por esas claves; TAKE(...; 10) se queda con las diez primeras. Como cada fila recibe su propia clave distinta y solo se reordena, ninguna fila puede aparecer dos veces — esto es muestreo sin reemplazo, que es lo que casi siempre significa «una muestra aleatoria de 10 clientes».

El método clásico (cualquier versión de Excel)

Antes de las matrices dinámicas, el mismo patrón usaba una columna auxiliar. Sigue funcionando en todas partes y es la herramienta correcta cuando estás en Excel 2019 o anterior:

  1. En una columna libre junto a tus datos, escribe =ALEATORIO() y arrástralo hacia abajo por cada fila.
  2. Copia esa columna y luego Pegado especial → Valores (este es el paso crítico — mira más abajo).
  3. Ordena tus datos por esa columna.
  4. Las N filas de arriba son tu muestra aleatoria; el conjunto entero queda ya barajado.

Los mismos tres movimientos —clave aleatoria, ordenar, tomar— solo que a mano. Para elegir una única fila al azar también puedes saltarte la ordenación por completo:

=INDICE(A2:A100; ALEATORIO.ENTRE(1; FILAS(A2:A100)))   ' una fila al azar — PUEDE repetir si se reutiliza

Fíjate en que INDICE + ALEATORIO.ENTRE reutilizado hacia abajo por una columna muestrea con reemplazo — la misma fila puede volver — que es justo el tema de la siguiente sección.

La distinción que arruina las muestras: con reemplazo frente a sin reemplazo

Esta es la idea sobre la que se construye todo el artículo, porque equivocarse aquí produce una respuesta errónea que parece perfectamente bien.

  • Sin reemplazo — cada fila puede elegirse como mucho una vez. Es el método de ordenar por aleatorio. Es lo que quieres para una muestra de clientes distintos, una baraja, un sorteo de ganadores únicos o repartir personas en equipos.
  • Con reemplazo — cada extracción es independiente y la misma fila puede volver a salir. Es INDICE(rango; ALEATORIO.ENTRE(1; n)) repetido, o ALEATORIO.ENTRE usado para generar números de fila. Es correcto para simulaciones (bootstrapping, dados) donde las repeticiones son legítimas.

El modo de fallo es silencioso y caro: alguien monta una «muestra aleatoria de 50 clientes» copiando =INDICE(lista; ALEATORIO.ENTRE(1; 500)) por 50 filas, y la muestra contiene sin avisar al mismo cliente dos o tres veces. Sin error, sin aviso — solo una muestra sesgada que sobrepondera a quien salió sorteado dos veces. Regla: si la palabra «muestra» o «único» aparece en cualquier parte de la tarea, necesitas sin reemplazo — ordena por una clave aleatoria, nunca números de fila con ALEATORIO.ENTRE.

La trampa de congelar antes de ordenar

Aquí está la sutil que pilla a quien usa el método clásico. ALEATORIO() es volátil: se resortea en cada recálculo — y ordenar es un recálculo. Así que si ordenas tus datos por una columna =ALEATORIO() viva, Excel genera números aleatorios recién hechos durante la ordenación, y el orden que obtienes ya no coincide con los números que estás viendo. Peor aún, la «muestra» cambia cada vez que alguien toca la hoja, así que nunca puede reproducirse ni auditarse.

El arreglo es el paso 2 de arriba, y no es opcional: copia la columna ALEATORIO() y haz Pegado especial → Valores para congelarla antes de ordenar. Una vez que las claves son números estáticos, la ordenación es estable y la muestra reproducible. Para cualquier cosa auditable —una muestra de cumplimiento, la asignación de un ensayo aleatorizado— registra las claves congeladas (o la fecha en que las sorteaste); un resultado aleatorio que nadie puede reproducir no vale nada como evidencia.

Extra: reparte una lista en grupos aleatorios equilibrados

La asignación aleatoria —dividir personas en N equipos, cubos A/B o turnos— es el mismo patrón con un giro al final. Adjunta una clave aleatoria, jerarquízala y luego mapea la posición a cubos con RESIDUO:

' Tras congelar una clave ALEATORIO() en la columna B, jerarquiza cada fila y asígnala a 3 grupos:
=RESIDUO(JERARQUIA(B2; $B$2:$B$100) - 1; 3) + 1     ' -> 1, 2 o 3, de forma uniforme y aleatoria

JERARQUIA convierte las claves aleatorias en posiciones 1..N; RESIDUO(...; 3) reparte esas posiciones en tres grupos como quien reparte cartas, así que los grupos salen del mismo tamaño (±1) pero de composición aleatoria. Cambia el 3 por los cubos que necesites.

El criterio

Deja de coleccionar recetas y quédate con el único patrón: clave aleatoria → ordenar → tomar. Muestrear, barajar, sortear ganadores y asignar grupos son todos ese patrón con un último paso distinto. Las dos decisiones que de verdad determinan si tu resultado es correcto son, primera, el reemplazo — si la tarea dice «muestra» o «único», necesitas sin reemplazo (ordenar por una clave aleatoria), no extracciones repetibles con ALEATORIO.ENTRE — y, segunda, la congelación: convierte una clave ALEATORIO()/MATRIZALEAT() viva a valores antes de ordenar, o tu muestra se resortea bajo tus pies y no puede reproducirse jamás. Todo lo demás es fontanería.

Cómo te ayuda ExcelMaster

La distinción del reemplazo es justo del tipo que es fácil equivocar y difícil de notar. Dile a ExcelMaster «elige 30 clientes al azar de esta lista, sin repetir» y construye =TAKE(SORTBY(rango; MATRIZALEAT(FILAS(rango))); 30) — el método sin reemplazo — en lugar de un enfoque con ALEATORIO.ENTRE que contaría doble en silencio. Pídele «baraja estos nombres» o «reparte al azar esta plantilla en 4 equipos» y escribe la fórmula de ordenar por aleatorio o la de cubos con RESIDUO, y te recuerda congelar las claves aleatorias a valores para que el resultado se quede quieto. Tú describes el sorteo; él elige el mecanismo estadísticamente correcto y lo mantiene reproducible.

Preguntas frecuentes

¿Cómo selecciono filas al azar en Excel?

Adjunta un número aleatorio a cada fila y ordena por él. En Excel 365, una fórmula lo hace: =TAKE(SORTBY(datos; MATRIZALEAT(FILAS(datos))); n) devuelve n filas al azar sin repetir. En cualquier versión, añade una columna auxiliar de =ALEATORIO(), Copiar → Pegado especial → Valores para congelarla, ordena por esa columna y toma las n filas de arriba.

¿Cómo aleatorizo (barajo) una lista en Excel?

Ordena la lista por una clave aleatoria. Moderno: =SORTBY(rango; MATRIZALEAT(FILAS(rango))) devuelve la lista entera en orden aleatorio. Clásico: pon =ALEATORIO() en una columna auxiliar, congélala a valores y ordena tus datos por ella. Ambos reordenan cada elemento exactamente una vez.

¿Cuál es la diferencia entre muestrear con y sin reemplazo?

Sin reemplazo significa que cada fila puede elegirse como mucho una vez — el método de ordenar por aleatorio (SORTBY + MATRIZALEAT, o una columna ALEATORIO congelada). Con reemplazo significa que la misma fila puede elegirse más de una vez — INDICE(rango; ALEATORIO.ENTRE(1; n)) repetido. Usa sin reemplazo para muestras reales de elementos distintos; usa con reemplazo solo para simulaciones donde las repeticiones son intencionadas.

¿Por qué mi muestra aleatoria cambia cada vez?

Porque ALEATORIO() y MATRIZALEAT() son volátiles y se resortean en cada recálculo. Si tu muestra depende de fórmulas aleatorias vivas, será distinta cada vez que la hoja recalcule. Congela primero los valores aleatorios —selecciónalos, Copia y luego Pegado especial → Valores— antes de ordenar o registrar la muestra.

¿Cómo asigno elementos a grupos al azar en Excel?

Adjunta y congela una clave =ALEATORIO(), y luego reparte las posiciones: =RESIDUO(JERARQUIA(clave; rango_claves) - 1; N) + 1 asigna cada fila a uno de N grupos, de forma uniforme y aleatoria. Cambia N por el número de grupos que quieras (3 para tres equipos, 2 para un reparto A/B, etc.).

Probado en

Probado en: Excel 365 (Windows 11) — última verificación el 11/07/2026.

Guías relacionadas: Excel ALEATORIO y ALEATORIO.ENTRE · Excel MATRIZALEAT · Excel SORT y SORTBY · Excel TAKE y DROP