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)eligenfilas 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 unALEATORIO()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:
- Adjunta un número aleatorio a cada fila.
- Ordena las filas por ese número aleatorio.
- 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:
- En una columna libre junto a tus datos, escribe
=ALEATORIO()y arrástralo hacia abajo por cada fila. - Copia esa columna y luego Pegado especial → Valores (este es el paso crítico — mira más abajo).
- Ordena tus datos por esa columna.
- 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
