Cómo generar números aleatorios en Excel (ALEATORIO y ALEATORIO.ENTRE)

Genera números aleatorios en Excel con ALEATORIO y ALEATORIO.ENTRE: un dado, un ganador de sorteo, barajar una lista y fijar el resultado. Guía con demo.

fxBlog

Cómo generar números aleatorios en Excel (ALEATORIO y ALEATORIO.ENTRE)

Genera números aleatorios en Excel con ALEATORIO y ALEATORIO.ENTRE: un dado, un ganador de sorteo, barajar una lista y fijar el resultado. Guía con demo.

Listo·Alejandro·15 min de lectura·Actualizado 9 Oct 2026

Excel incluye dos funciones nativas pensadas exactamente para esto: generar números aleatorios en Excel sin depender de complementos ni de fórmulas complicadas. Se llaman ALEATORIO() y ALEATORIO.ENTRE(), y aunque parecen simples, esconden algunos detalles que casi todo el mundo pasa por alto la primera vez que las usa: por qué cambian solas, cómo fijarlas, cómo generar decimales en un rango concreto o cómo usarlas para sortear un premio entre varios participantes.

En esta guía vas a ver, con ejemplos prácticos, cómo generar un decimal aleatorio entre 0 y 1, cómo simular el lanzamiento de un dado o sortear un número del 1 al 100, cómo elegir un elemento al azar de una lista, cómo barajar filas como si repartieras cartas, y cómo evitar el error más típico: que tus números aleatorios cambien justo cuando no quieres que cambien.

También veremos la función moderna MATRIZALEAT de Excel 365, cómo generar letras aleatorias, los errores más comunes al trabajar con aleatoriedad en una hoja de cálculo, y cómo se traduce todo esto si trabajas en Google Sheets en lugar de Excel.

Cómo generar números aleatorios en Excel (ALEATORIO y ALEATORIO.ENTRE)
Cómo generar números aleatorios en Excel (ALEATORIO y ALEATORIO.ENTRE)

Qué son los números aleatorios en Excel y para qué sirven

Un número aleatorio es un valor que Excel calcula de forma impredecible dentro de unos límites que tú defines (o sin límites, en el caso de ALEATORIO). No es aleatorio en el sentido criptográfico, pero es más que suficiente para el uso habitual en una hoja de cálculo: sorteos, muestras estadísticas, simulaciones, generación de datos de prueba, juegos caseros tipo dado o ruleta, asignación al azar de tareas o turnos, y tests de tipo Montecarlo básicos.

La gran ventaja de usar funciones aleatorias en lugar de escribir números a mano es que se recalculan automáticamente y puedes generar cientos de valores en segundos simplemente arrastrando una fórmula. La gran trampa, como verás más adelante, es que ese mismo recálculo automático puede jugarte una mala pasada si no sabes cómo fijar el resultado cuando lo necesitas.

La función ALEATORIO(): decimales entre 0 y 1

La función ALEATORIO() es la más básica de las dos. No lleva ningún argumento (por eso los paréntesis van siempre vacíos) y devuelve un número decimal aleatorio mayor o igual que 0 y menor que 1, por ejemplo 0,472913 o 0,00812. Su sintaxis es tan simple como escribir:

Sintaxis de ALEATORIO

=ALEATORIO() — sin argumentos, siempre con los paréntesis vacíos. Si escribes algo dentro de los paréntesis, Excel te devolverá un error, porque esta función no acepta parámetros.

💡
No olvides los paréntesisAunque ALEATORIO no necesita ningún argumento, los paréntesis () son obligatorios. Escribir =ALEATORIO sin paréntesis no funciona; Excel lo interpretará como un nombre no reconocido.

Ejemplos de uso de ALEATORIO

FórmulaQué genera
=ALEATORIO()Un decimal aleatorio entre 0 (incluido) y 1 (excluido), por ejemplo 0,638201
=ALEATORIO()*100Un decimal aleatorio entre 0 y 100, útil para simular porcentajes o notas
=REDONDEAR(ALEATORIO();2)Un decimal aleatorio entre 0 y 1 con solo 2 decimales, por ejemplo 0,47
=SI(ALEATORIO()<0,5;»Cara»;»Cruz»)Simula el lanzamiento de una moneda al 50%

Fíjate en la última fila de la tabla: combinar ALEATORIO con una condición SI es una manera muy sencilla de simular sucesos con una probabilidad concreta, como una moneda (50%) o un evento que ocurre el 20% de las veces (SI(ALEATORIO()<0,2;…)).

Pruébalo: genera un número al azar

—
=ALEATORIO.ENTRE(1;100)

↑ ALEATORIO.ENTRE da un entero al azar entre los dos valores. Se recalcula cada vez (es volátil).

La función ALEATORIO.ENTRE(): números enteros dentro de un rango

Cuando necesitas un número entero aleatorio dentro de un rango concreto —como tirar un dado, sortear un número de lotería o elegir una fila al azar—, la función que necesitas es ALEATORIO.ENTRE. Su sintaxis es:

Sintaxis de ALEATORIO.ENTRE

=ALEATORIO.ENTRE(inferior; superior), donde inferior es el valor mínimo posible y superior es el valor máximo posible. Ambos límites son inclusivos, es decir, el propio inferior y el propio superior pueden salir como resultado.

Ejemplo: simular el lanzamiento de un dado

Para simular un dado de seis caras escribe: =ALEATORIO.ENTRE(1;6). Cada vez que la hoja se recalcule obtendrás un número entero del 1 al 6, ambos incluidos, igual que si lanzaras un dado físico.

Ejemplo: un número aleatorio del 1 al 100

Para obtener un número del 1 al 100 (por ejemplo para un sorteo o una rifa), la fórmula es =ALEATORIO.ENTRE(1;100). Si quieres un rango distinto, como del 1000 al 9999 para generar códigos, simplemente cambia los límites: =ALEATORIO.ENTRE(1000;9999).

NecesidadFórmula
Dado de 6 caras=ALEATORIO.ENTRE(1;6)
Moneda (0 o 1)=ALEATORIO.ENTRE(0;1)
Número de lotería del 1 al 49=ALEATORIO.ENTRE(1;49)
Número de 3 cifras=ALEATORIO.ENTRE(100;999)
Año aleatorio entre 2000 y 2025=ALEATORIO.ENTRE(2000;2025)
📌
Los dos límites son inclusivosEn ALEATORIO.ENTRE(1;6), tanto el 1 como el 6 pueden aparecer como resultado. Es un error muy habitual pensar que el límite superior queda excluido, como ocurre en otros lenguajes de programación.

Por qué tus números aleatorios cambian solos: la volatilidad

Tanto ALEATORIO como ALEATORIO.ENTRE son funciones volátiles. Esto significa que Excel las recalcula constantemente, no solo cuando cambias el valor de una celda relacionada, sino prácticamente cada vez que algo se mueve en la hoja.

Cuándo se recalculan

  1. Al pulsar la tecla F9 (recalcular manualmente)
  2. Al modificar el valor de cualquier celda de la hoja, aunque no tenga relación con la fórmula
  3. Al insertar o eliminar filas, columnas u hojas
  4. Al abrir el archivo de nuevo
  5. Al aplicar un filtro, ordenar datos o simplemente guardar el libro en algunos casos

Esto explica por qué, si haces una captura de pantalla o compartes el archivo, la persona que lo abra verá números distintos a los que viste tú. No es un fallo: es el comportamiento normal y esperado de estas funciones volátiles.

⚠️
Cuidado con hojas grandesSi tienes cientos o miles de celdas con ALEATORIO o ALEATORIO.ENTRE, el libro puede notarse lento, porque Excel recalcula todas esas fórmulas cada vez que tocas cualquier cosa. Si ya no necesitas que sigan cambiando, conviene fijarlas como valores (lo vemos en el siguiente apartado).

Cómo fijar (congelar) un número aleatorio para que no cambie

Si necesitas que el resultado del sorteo, del dado o de la muestra se quede fijo para siempre —por ejemplo, porque ya elegiste al ganador y no quieres que la fórmula lo cambie al abrir el archivo—, la solución es convertir la fórmula en un valor mediante pegado especial.

Pasos para fijar los números aleatorios

  1. Selecciona la celda o el rango con las fórmulas de ALEATORIO o ALEATORIO.ENTRE
  2. Copia la selección (Ctrl+C)
  3. Sin mover la selección, ve a Pegado especial (clic derecho > Pegado especial, o Ctrl+Alt+V)
  4. Elige la opción Valores y acepta

A partir de ese momento, la celda ya no contiene la fórmula: contiene el número fijo que había en ese instante, y no cambiará aunque pulses F9 o edites otras celdas. Puedes ver el proceso completo, con todas las variantes de pegado (valores, formatos, fórmulas), en esta guía sobre pegado especial en Excel.

💡
Truco rápido para una sola celdaSi solo quieres fijar una celda, puedes pulsar F9 con el cursor situado dentro de la fórmula (en la barra de fórmulas, con la fórmula seleccionada) y luego Entrar: Excel sustituye la fórmula por su resultado actual sin necesidad de pegado especial.

Generar decimales aleatorios dentro de un rango personalizado

ALEATORIO solo da valores entre 0 y 1, pero es muy fácil escalar el resultado a cualquier rango de decimales que necesites, por ejemplo entre 10 y 20, o entre -5 y 5. La fórmula general es:

Fórmula para decimales en un rango

=ALEATORIO()*(máximo-mínimo)+mínimo. Esta fórmula toma el decimal entre 0 y 1 que devuelve ALEATORIO, lo multiplica por la amplitud del rango (máximo menos mínimo) y luego suma el mínimo para desplazar el resultado al intervalo correcto.

Rango deseadoFórmula
Decimal entre 10 y 20=ALEATORIO()*(20-10)+10
Decimal entre -5 y 5=ALEATORIO()*(5-(-5))+(-5)
Precio entre 9,99 y 49,99=REDONDEAR(ALEATORIO()*(49,99-9,99)+9,99;2)

Si además quieres controlar el número de decimales que muestra el resultado, combina la fórmula con REDONDEAR, como en la última fila de la tabla. Tienes todos los detalles sobre cómo redondear con distintos criterios (hacia arriba, hacia abajo, a un número de cifras concreto) en esta guía sobre cómo redondear en Excel.

Elegir un elemento al azar de una lista

Una de las utilidades más prácticas de ALEATORIO.ENTRE es combinarla con INDICE para elegir un elemento cualquiera de una lista: un nombre, un producto, una tarea, una pregunta de examen, etc.

Fórmula para elegir un elemento al azar

Si tu lista de nombres está en el rango A2:A20, la fórmula es: =INDICE(A2:A20;ALEATORIO.ENTRE(1;CONTARA(A2:A20))). Aquí, CONTARA cuenta cuántos elementos tiene la lista para que el rango de ALEATORIO.ENTRE se ajuste automáticamente aunque añadas o quites nombres. Para entender bien cómo funciona INDICE (y su combinación clásica con COINCIDIR), consulta esta guía sobre la función INDICE y COINCIDIR en Excel.

SituaciónFórmula
Elegir un nombre al azar de A2:A20=INDICE(A2:A20;ALEATORIO.ENTRE(1;CONTARA(A2:A20)))
Elegir una pregunta al azar de B2:B50=INDICE(B2:B50;ALEATORIO.ENTRE(1;CONTARA(B2:B50)))

Cada vez que la hoja se recalcule (o pulses F9), la fórmula devolverá un elemento distinto de la lista, lo que la hace perfecta para dinámicas de clase, ruedas de preguntas o para decidir quién empieza en un juego.

Cómo sortear un ganador entre varios participantes

Para un sorteo real —por ejemplo, elegir un ganador entre los participantes de un concurso—, el proceso es prácticamente el mismo que elegir un elemento al azar, pero conviene añadir un paso extra para dejar el resultado bien documentado.

Pasos para sortear un ganador

  1. Escribe la lista de participantes en una columna, por ejemplo A2:A100
  2. En una celda aparte escribe: =INDICE(A2:A100;ALEATORIO.ENTRE(1;CONTARA(A2:A100)))
  3. Pulsa F9 varias veces si quieres generar suspense antes del resultado final
  4. En cuanto tengas el nombre ganador, copia esa celda y pégala como valor en otra celda, para que quede fijo como prueba del sorteo
💡
Guarda una captura o fija el valorSi el sorteo tiene que ser verificable más adelante (por ejemplo en redes sociales o para un concurso con premio), fija siempre el resultado como valor con pegado especial justo después de obtenerlo. Si dejas la fórmula activa, cualquier recálculo posterior cambiará el nombre ganador.

Barajar o poner una lista en orden aleatorio

Otra necesidad muy habitual es barajar filas, es decir, poner una lista de datos en un orden completamente aleatorio, como si repartieras una baraja de cartas. La forma clásica, compatible con cualquier versión de Excel, usa una columna auxiliar.

Método clásico: columna auxiliar + ordenar

  1. Añade una columna junto a tus datos y escribe =ALEATORIO() en cada fila
  2. Copia esa columna y pégala como valores (para que no cambie mientras ordenas)
  3. Selecciona todo el rango de datos, incluida la columna auxiliar
  4. Ordena por esa columna auxiliar, de menor a mayor (o al revés), usando Datos > Ordenar

Como cada fila recibió un decimal distinto e impredecible, al ordenar por esa columna las filas quedan mezcladas al azar. Puedes repasar todas las opciones del cuadro de ordenación (por color, por varios criterios, ascendente o descendente) en esta guía sobre cómo ordenar y filtrar en Excel.

Método moderno: ORDENARPOR + MATRIZALEAT (Excel 365)

Si trabajas con Excel 365, puedes barajar una lista con una sola fórmula dinámica, sin columnas auxiliares: =ORDENARPOR(A2:A20;MATRIZALEAT(FILAS(A2:A20))). Esta combinación ordena la lista según una matriz de números aleatorios generada al vuelo. Tienes el detalle completo de la función dinámica de ordenación en esta guía sobre la función ORDENAR en Excel.

MATRIZALEAT: varios números aleatorios a la vez (Excel 365)

Las versiones modernas de Excel (365) incorporan MATRIZALEAT, una función que genera de golpe una matriz completa de números aleatorios, sin necesidad de copiar una fórmula celda a celda. Su sintaxis es: =MATRIZALEAT([filas];[columnas];[mínimo];[máximo];[entero]), y todos sus argumentos son opcionales.

FórmulaResultado
=MATRIZALEAT()Un único decimal aleatorio entre 0 y 1, igual que ALEATORIO()
=MATRIZALEAT(5;1)Una columna con 5 decimales aleatorios entre 0 y 1
=MATRIZALEAT(3;4)Una matriz de 3 filas por 4 columnas con decimales aleatorios
=MATRIZALEAT(5;1;1;100;VERDADERO)Una columna con 5 números enteros aleatorios entre 1 y 100

El último argumento, entero, es el que marca la diferencia con ALEATORIO.ENTRE: si lo pones en VERDADERO, MATRIZALEAT devuelve números enteros; si lo dejas en FALSO (o lo omites), devuelve decimales. Es especialmente útil cuando necesitas generar una tabla completa de datos de prueba de un solo golpe.

Cómo generar letras o caracteres aleatorios

Excel no tiene una función dedicada a generar letras aleatorias, pero puedes conseguirlo combinando ALEATORIO.ENTRE con CARACTER, que convierte un código numérico en un carácter de texto.

Fórmula para una letra mayúscula aleatoria

Las letras A-Z en mayúscula ocupan los códigos del 65 al 90, así que la fórmula es: =CARACTER(ALEATORIO.ENTRE(65;90)). Para minúsculas (a-z, códigos 97 a 122), usa =CARACTER(ALEATORIO.ENTRE(97;122)).

Si necesitas generar un código alfanumérico completo (por ejemplo para contraseñas de prueba o referencias de producto), puedes unir varias de estas fórmulas con CONCAT o el operador &, mezclando letras con ALEATORIO.ENTRE(0;9) para los dígitos.

Errores comunes al usar números aleatorios en Excel

Casi todos los problemas con ALEATORIO y ALEATORIO.ENTRE se repiten en los mismos puntos. Aquí tienes los más frecuentes para que no te pillen por sorpresa.

  1. Olvidar los paréntesis en =ALEATORIO(), lo que provoca un error de fórmula
  2. Invertir los argumentos de ALEATORIO.ENTRE (poner primero el número mayor y después el menor), lo que también genera error
  3. Pensar que el resultado es fijo y sorprenderse cuando cambia al reabrir el archivo o al editar otra celda
  4. No fijar el valor antes de compartir el archivo, de modo que el destinatario ve un sorteo distinto al que tú viste
  5. Olvidar que los límites son inclusivos en ALEATORIO.ENTRE, lo que descuadra ligeramente algunos cálculos de probabilidad
  6. Abusar de funciones volátiles en hojas muy grandes, ralentizando el archivo sin darse cuenta
  7. No redondear los decimales de ALEATORIO cuando el resultado necesita un número concreto de cifras
⚠️
El clásico susto del sorteoEl error más habitual con diferencia es hacer un sorteo, ver el nombre ganador en pantalla, guardar el archivo y, al reabrirlo, encontrarse con otro nombre distinto. La causa es siempre la misma: no se fijó el resultado con pegado especial como valores.

Números aleatorios en Google Sheets

Si trabajas en Google Sheets en lugar de Excel, buena noticia: las funciones se llaman igual en la versión en español, y funcionan de forma prácticamente idéntica.

FunciónExcelGoogle Sheets
Decimal entre 0 y 1=ALEATORIO()=ALEATORIO()
Entero en un rango=ALEATORIO.ENTRE(1;100)=ALEATORIO.ENTRE(1;100)
Fijar el resultadoCopiar > Pegado especial > ValoresCopiar > Pegar especial > Solo los valores

La diferencia principal está en el separador de argumentos: según la configuración regional de tu hoja, Google Sheets puede pedir coma en lugar de punto y coma dentro de la fórmula. Y, como en Excel, tanto ALEATORIO como ALEATORIO.ENTRE son volátiles en Google Sheets: se recalculan cada vez que editas cualquier celda de la hoja, así que la misma técnica de copiar y pegar solo valores sirve para fijar el resultado.

¿Sorteas o eliges al azar?

Descarga nuestras plantillas gratis, listas para personalizar.

Ver la plantilla →

Preguntas y respuestas

¿Cuál es la diferencia entre ALEATORIO y ALEATORIO.ENTRE?
ALEATORIO() no lleva argumentos y siempre devuelve un decimal entre 0 y 1. ALEATORIO.ENTRE(inferior;superior) lleva dos argumentos y devuelve un número entero dentro del rango que tú definas, con ambos límites incluidos.
¿Por qué mi número aleatorio cambia cada vez que hago algo en la hoja?
Porque ambas funciones son volátiles: Excel las recalcula al pulsar F9, al modificar cualquier celda, al insertar o eliminar filas y columnas, o al volver a abrir el archivo. Es el comportamiento normal, no un fallo.
¿Cómo dejo fijo un número aleatorio para que no vuelva a cambiar?
Copia la celda o el rango con la fórmula y usa Pegado especial > Valores sobre la misma selección (o sobre otra celda). Así sustituyes la fórmula por el resultado numérico concreto, que ya no se recalculará.
¿ALEATORIO.ENTRE puede devolver el número más bajo o el más alto que le indico?
Sí. Los dos límites, inferior y superior, son inclusivos: en ALEATORIO.ENTRE(1;6) tanto el 1 como el 6 pueden salir como resultado, igual que en un dado real.
¿Cómo genero un número aleatorio sin decimales dentro de un rango grande?
Usa directamente ALEATORIO.ENTRE(inferior;superior), que ya devuelve números enteros. Si necesitas partir de un decimal con ALEATORIO, combínalo con REDONDEAR o TRUNCAR para eliminar los decimales.
¿Puedo generar un número aleatorio sin que se repita dentro de una lista?
Con ALEATORIO.ENTRE puro pueden salir valores repetidos porque cada celda se calcula de forma independiente. Para evitar repeticiones, usa el método de barajar con una columna auxiliar de ALEATORIO() y luego ordenar, o en Excel 365 combina ORDENARPOR con MATRIZALEAT sobre la lista completa.
¿Se puede generar una fecha aleatoria en Excel?
Sí, combinando ALEATORIO.ENTRE con dos fechas convertidas a número de serie, por ejemplo =ALEATORIO.ENTRE(FECHA(2024;1;1);FECHA(2024;12;31)), y dando formato de fecha a la celda resultante.
¿Las fórmulas de números aleatorios funcionan igual en Google Sheets?
Sí, ALEATORIO() y ALEATORIO.ENTRE() existen con el mismo nombre y comportamiento en Google Sheets, incluida la volatilidad. Solo puede variar el separador de argumentos (coma o punto y coma) según la configuración regional del documento.

La idea que te llevas

Con ALEATORIO() y ALEATORIO.ENTRE() tienes cubierta prácticamente cualquier necesidad de aleatoriedad en una hoja de cálculo: desde un simple lanzamiento de moneda hasta un sorteo completo con decenas de participantes. La clave para no llevarte sorpresas está en recordar siempre dos cosas: que son funciones volátiles que se recalculan solas, y que puedes fijar el resultado en cualquier momento con un simple pegado especial como valores. A partir de ahí, combínalas con INDICE, ORDENARPOR o MATRIZALEAT y podrás automatizar sorteos, muestras y listas barajadas en segundos.

Excel® es una marca registrada de Microsoft Corporation. Este sitio no está afiliado a Microsoft.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *