Intermedio

Función ALEATORIO.ENTRE en Excel: cómo generar números al azar

octubre 23, 2026 Tuto Excel 11 min read
Función ALEATORIO.ENTRE en Excel: cómo generar números al azar

ALEATORIO.ENTRE (en inglés RANDBETWEEN) es la función de Excel que devuelve un número al azar entre dos valores que tú eliges, y cambia cada vez que la hoja se recalcula. Con ella puedes simular un dado, sortear un ganador entre los participantes de un concurso o sacar una muestra de clientes al azar de una lista más grande. En este tutorial trabajarás sobre un único libro, SorteoNavidad, que irá creciendo: empezamos con un dado y un sorteo, seguimos con varios ganadores sin que se repitan y terminamos con una muestra de clientes sacada de una tabla grande. Todo funciona en Excel 2007 en adelante; la función MATRIZALEAT (en inglés RANDARRAY) requiere Excel 2021, 2024 o Microsoft 365.

Nota: en este artículo las fórmulas usan punto y coma para separar argumentos, el formato habitual en España y en los países donde el decimal se escribe con coma. Si tu Excel está configurado con punto decimal (México, Estados Unidos), el separador será la coma: =ALEATORIO.ENTRE(1,6).

Qué es un número aleatorio en Excel y para qué te sirve

Un número aleatorio es, simplemente, un valor que Excel escoge al azar de entre varios posibles. Cada vez que la hoja se recalcula (al pulsar F9, al escribir algo en una celda o al guardar el libro), Excel genera uno nuevo, y eso es justo lo que necesitas para juegos, sorteos, muestras y simulaciones.

Imagina el libro SorteoNavidad. Una hoja llamada Sorteo con la lista de participantes de la cena de empresa en la columna A, y al lado el número que cada uno ha sacado al tirar un dado en la columna B. Cuando pulses F9, los dados se vuelven a tirar. Otro día puedes añadir en la columna D el ganador del sorteo, elegido con un número del 1 al 10. Todo eso lo hace la familia de funciones "aleatorio": ALEATORIO, ALEATORIO.ENTRE y, desde Excel 2021, MATRIZALEAT.

La diferencia clave con otras funciones es que estas son volátiles: cambian solas cada vez que algo en el libro se recalcula. Eso es una ventaja cuando quieres que un dado se mueva, y un problema cuando ya tienes al ganador y no quieres que cambie al pulsar F9. Más adelante verás cómo dejarlo fijo con Pegado especial.

En la práctica, con estas tres funciones puedes: tirar dados, sortear ganadores únicos, sacar muestras de tablas grandes, generar contraseñas temporales y hacer simulaciones de Monte Carlo con unas pocas fórmulas.

Las funciones que generan números al azar y sus argumentos

Las tres funciones que necesitas están en esta tabla. Todas son volátiles: cambian en cada recálculo.

ALEATORIO y ALEATORIO.ENTRE, las dos clásicas

Función Sintaxis Qué devuelve Disponible desde
ALEATORIO (RAND) =ALEATORIO() Un decimal entre 0 y 1 Excel 2007
ALEATORIO.ENTRE (RANDBETWEEN) =ALEATORIO.ENTRE(inferior;superior) Un entero entre los dos límites, ambos incluidos Excel 2007

ALEATORIO.ENTRE es la más útil para sorteos porque devuelve enteros: =ALEATORIO.ENTRE(1;6) simula un dado, =ALEATORIO.ENTRE(1;100) un número de lotería. Si escribes el límite inferior mayor que el superior, devuelve #¡NUM!.

MATRIZALEAT para rellenar varias celdas de una vez

Función Sintaxis Qué devuelve Disponible desde
MATRIZALEAT (RANDARRAY) =MATRIZALEAT(filas;columnas;mínimo;máximo;entero) Una matriz de números aleatorios con el tamaño y el rango que indiques Excel 2021 y Microsoft 365

Los cinco argumentos son opcionales. Si escribes =MATRIZALEAT(5;3;1;100;VERDADERO) obtienes una tabla de 5 filas y 3 columnas llena de enteros del 1 al 100, y al pulsar F9 se vuelve a generar entera de golpe.

Nota: en Excel 2019 o anterior no existe MATRIZALEAT. La alternativa es escribir =ALEATORIO.ENTRE(1;100) en cada celda o copiar la fórmula con el controlador de relleno.

Un dado y un sorteo de Navidad en una hoja nueva

Empezamos el libro SorteoNavidad. Crea un libro nuevo y renombra la primera hoja como Sorteo. En A1 escribe Participante y en B1 Dado. Rellena A2:A11 con diez nombres de personas: Ana, Berta, Carlos, David, Elena, Fran, Gema, Hugo, Inés, Jorge.

  1. Selecciona B2 y escribe la fórmula del dado.
  2. Pulsa Entrar y arrastra el controlador de relleno hasta B11.

=ALEATORIO.ENTRE(1;6)
B2fx=ALEATORIO.ENTRE(1;6)
A B
1 Participante Dado
2 Ana 4
3 Berta 2
4 Carlos 6
5 David 3
6 Elena 5
7 Fran 1
8 Gema 4
9 Hugo 2
10 Inés 6
11 Jorge 3
B2 Arrastra el controlador de relleno hasta B11
Sorteo

Ahora añade el sorteo del número ganador entre 1 y 10 y el nombre que sale. En D1 escribe Número y en E1 Ganador. En D2:

=ALEATORIO.ENTRE(1;10)

En E2 buscas el nombre que está en la posición D2 dentro de la lista de participantes:

=INDICE($A$2:$A$11;COINCIDIR(D2;$B$2:$B$11;0))
Consejo: COINCIDIR busca el número de D2 en la columna B y devuelve su posición. INDICE devuelve el nombre que está en esa posición dentro de A2:A11. Las referencias con $ son absolutas: al copiar la fórmula no se mueven.
E2fx=INDICE($A$2:$A$11;COINCIDIR(D2;$B$2:$B$11;0))
A B C D E
1 Participante Dado Número Ganador
2 Ana 4 7 Hugo
3 Berta 2
Sorteo
Comprueba: al pulsar F9 los dados cambian, el número de D2 se mueve entre 1 y 10 y el ganador de E2 se actualiza solo. Si te sale #N/A, el número de D2 no está en la columna B; amplía el rango del dado (por ejemplo, =ALEATORIO.ENTRE(1;10)) para que cubra todos los valores posibles de D2.

Fijar el ganador con Pegado especial valores

Cuando ya tengas al ganador, no quieres que cambie al pulsar F9. Fijarlo es rápido.

  1. Selecciona D2 y copia con Ctrl+C.
  2. En la misma celda, abre Pegado especial con Ctrl+Alt+V.
  3. Elige Valores y pulsa Aceptar.
  4. Repite lo mismo con E2.
InicioPortapapelesPegarPegado especial

Después de pegar, en la barra de fórmulas verás solo el número, no la fórmula. Ya tienes el ganador congelado.

Comprueba: pulsa F9 varias veces. Los dados siguen cambiando, pero D2 y E2 se quedan con el mismo número y el mismo nombre. En la barra de fórmulas ya no aparece =ALEATORIO.ENTRE(1;10), solo el valor.

Elegir varios ganadores sin que se repitan

Ahora la hoja Sorteo crece: queremos sacar cinco ganadores de entre veinte participantes, sin que se repita ninguno. Añade diez nombres más a la lista hasta tener A2:A21. En C1 escribe Aleatorio (auxiliar) y en D1 Ganadores. La idea es dar a cada participante un decimal único con ALEATORIO y luego elegir los cinco valores más altos: sus posiciones no se repiten porque cada decimal es prácticamente único.

  1. En C2 escribe =ALEATORIO() y copia hasta C21 con el controlador de relleno.
  2. En D1 escribe Ganadores y en D2:

=K.ESIMO.MAYOR($C$2:$C$21;FILA()-1)
  1. En E1 escribe Nombre y en E2:

=INDICE($A$2:$A$21;COINCIDIR(D2;$C$2:$C$21;0))
  1. Copia D2:E2 hacia abajo hasta la fila 6.
D2fx=K.ESIMO.MAYOR($C$2:$C$21;FILA()-1)
A B C D E
1 Participante Aleatorio Ganadores Nombre
2 Ana 0,231 0,981 Hugo
3 Berta 0,874 0,952 Gema
4 Carlos 0,512 0,933 Inés
5 David 0,109 0,902 Jorge
6 Elena 0,667 0,874 Berta
7 Fran 0,445
8 Gema 0,952
9 Hugo 0,981
10 Inés 0,933
11 Jorge 0,902
Sorteo
Consejo: K.ESIMO.MAYOR saca el k-ésimo valor más alto de la lista. FILA()-1 vale 1 en la fila 2, 2 en la fila 3, y así hasta 5, así que obtienes los cinco mayores. Como cada ALEATORIO es prácticamente único, no hay empates.
Comprueba: al pulsar F9, los nombres de E2:E6 cambian, pero nunca se repiten entre sí. Si te sale #N/A, comprueba que C2:C21 no tenga celdas vacías ni errores.

Sacar una muestra de 10 filas de una tabla grande

Añade una hoja nueva llamada Clientes con 500 filas de una base de clientes. En A1:C1 escribe los encabezados Id, Nombre y Ciudad. Rellena A2:A501 con números del 1 al 500, B2:B501 con nombres genéricos (Cliente001, Cliente002, …) y C2:C501 con ciudades (Madrid, Barcelona, Valencia, Sevilla, Bilbao, repetidas).

  1. En D1 escribe Aleatorio.
  2. En D2 escribe =ALEATORIO() y copia hasta D501.
  3. Selecciona A1:D501.
  4. Ordena por la columna D de mayor a menor.
DatosOrdenar y filtrarOrdenar

Las 10 primeras filas de la tabla ordenada son tu muestra al azar de 10 clientes.

Si tienes Excel 2021 o Microsoft 365, puedes saltarte la columna auxiliar con MATRIZALEAT. En una hoja aparte, en A1:

=MATRIZALEAT(10;1;1;500;VERDADERO)
A1fx=MATRIZALEAT(10;1;1;500;VERDADERO)
A
1 273
2 88
3 412
4 19
5 506
Muestra
Cuidado: MATRIZALEAT desborda hacia abajo, así que las celdas A2:A10 deben estar vacías. Si ves #¡DESBORDAMIENTO!, bórralas o córtalas a otra hoja.

Para sacar el nombre de cada id, en B1:

=BUSCARX(A1;Clientes!$A$2:$A$501;Clientes!$B$2:$B$501)
Nota: BUSCARX (en inglés XLOOKUP) está en Excel 2021, 2024 y Microsoft 365. En Excel 2019 o anterior usa =INDICE(Clientes!$B$2:$B$501;COINCIDIR(A1;Clientes!$A$2:$A$501;0)).
Comprueba: la hoja Muestra muestra 10 ids distintos y 10 nombres. Cada F9 genera una muestra nueva.

Errores y sorpresas típicos al usar ALEATORIO.ENTRE

Estas tres situaciones se repiten mucho al usar números al azar en Excel. Cada una tiene su causa y su arreglo.

El número cambia solo cada vez que pulso F9 o guardo

Es el comportamiento normal de las funciones volátiles: cualquier cambio en el libro las obliga a recalcularse. Si ya tienes el ganador y no quieres que se mueva, cópialo y pégalo con Pegado especial > Valores sobre la misma celda. La fórmula desaparece y queda solo el número.

D2fx7
A C D
1 Participante Número
2 Ana 7
Sorteo
Consejo: si quieres que toda la hoja deje de recalcularse en cada cambio, ve a Archivo > Opciones > Fórmulas > Opciones de cálculo > Manual y marca Volver a calcular el libro antes de guardarlo. Úsalo solo para hojas de sorteos terminados.

ALEATORIO.ENTRE devuelve un decimal en vez de un entero

Si escribes =ALEATORIO.ENTRE(1,5;6,8) en vez de =ALEATORIO.ENTRE(1;6), Excel trunca los argumentos y puede dar resultados inesperados. La función solo trabaja con enteros: ambos límites deben ser números enteros, y el separador decimal depende de tu configuración regional. Si el decimal es la coma, los argumentos se separan con punto y coma.

B2fx=ALEATORIO.ENTRE(1,5;6,8)
A B
1 Participante Dado
2 Ana 5
Sorteo

El arreglo es revisar que ambos límites sean enteros sin decimales y que el separador sea el correcto. Si la celda muestra #¡NUM!, el límite inferior es mayor que el superior: intercámbialos.

MATRIZALEAT muestra #¡DESBORDAMIENTO! en Excel 2021 o 365

MATRIZALEAT es una función de matriz dinámica: escribe los resultados en varias celdas contiguas a la vez. Si alguna de esas celdas ya tiene datos, Excel no puede derramar el resultado y muestra #¡DESBORDAMIENTO!.

A1fx=MATRIZALEAT(10;1;1;500;VERDADERO)
A
1 #¡DESBORDAMIENTO!
2 Cliente273
Muestra

El arreglo es borrar el contenido de A2:A10, o seleccionar un rango vacío más amplio (por ejemplo, mover la fórmula a C1). El error desaparece en cuanto las celdas de destino están libres.

Lo que ya sabes hacer con los números aleatorios en Excel

  • Simular un dado o un número de lotería con =ALEATORIO.ENTRE(1;6) o =ALEATORIO.ENTRE(1;100).
  • Sortear un ganador entre los participantes de una lista combinando ALEATORIO.ENTRE con INDICE y COINCIDIR.
  • Sacar varios ganadores sin que se repitan con una columna auxiliar de =ALEATORIO() y K.ESIMO.MAYOR.
  • Elegir una muestra al azar de 10 filas de una tabla grande con la columna auxiliar y Ordenar, o con MATRIZALEAT en Excel 2021 o 365.
  • Fijar el resultado de un sorteo con Pegado especial > Valores para que no cambie al pulsar F9.

El siguiente paso es combinar ALEATORIO.ENTRE con BUSCARX (en Excel 2021 o 365) para sacar un cliente al azar de la tabla Clientes y traer su nombre, ciudad y correo en una sola fórmula.

Dudas al usar ALEATORIO.ENTRE y las funciones al azar

1. ¿Cómo generar un número aleatorio en Excel?

Usa la función ALEATORIO (RAND) para obtener un decimal entre 0 y 1 en cualquier celda: escribe =ALEATORIO() y pulsa Intro. Cada vez que la hoja recalcula, el valor cambia automáticamente. Para fijarlo, cópialo con Ctrl+C y pégalo con Pegado especial > Solo valores (Datos > Pegado especial > Valores).

2. ¿Cómo usar un generador de números aleatorios en Excel?

ALEATORIO (RAND) devuelve un decimal entre 0 y 1, y ALEATORIO.ENTRE (RANDBETWEEN) devuelve un entero entre dos valores que tú elijas, por ejemplo =ALEATORIO.ENTRE(1;100). Escribe la fórmula en la celda y arrástrala con el controlador de relleno si necesitas varios números a la vez.

3. ¿Cómo elegir un nombre al azar de un grupo en Excel con una fórmula?

Pon la lista de nombres en un rango, por ejemplo A1:A10, y usa =INDICE(A1:A10;ALEATORIO.ENTRE(1;10)). INDICE devuelve el nombre que ocupa la posición elegida al azar por ALEATORIO.ENTRE. Para que no se repita entre sorteos, copia el resultado y pégalo con Pegado especial > Valores.

4. ¿Cómo generar números aleatorios en Excel sin que se repitan?

En Excel 2021 y Microsoft 365 usa =MATRIZALEATORIA(5;1;1;100;VERDADERO), donde 5 es la cantidad, 1 las filas, y 1 y 100 el rango sin repeticiones. En versiones anteriores, asigna =ALEATORIO() en una columna auxiliar, ordena los datos por ese valor y toma los primeros N: el orden cambia en cada cálculo.

5. ¿Cómo generar números aleatorios con decimales en Excel?

ALEATORIO (RAND) ya devuelve un decimal entre 0 y 1, así que solo tienes que escribir =ALEATORIO() en una celda. Si quieres un rango distinto, multiplica y suma: =ALEATORIO()*(50-1)+1 da decales y acotados entre 1 y 50. Para redondear, envuélvelo en REDONDEAR(…;2) y obtendrás dos decimales fijos.

Fuentes

  1. MicrosoftALEATORIO.ENTRE — documentación oficialconsultado el 07/10/2026
  2. MicrosoftALEATORIO — documentación oficialconsultado el 07/10/2026
  3. MicrosoftSIFECHA — documentación oficialconsultado el 07/10/2026
  4. Microsoft#¡DIV/0! — documentación oficialconsultado el 07/10/2026
  5. MicrosoftPAGO.INT.ENTRE — documentación oficialconsultado el 07/10/2026