Números Aleatorios en Excel: Guía RAND vs RANDBETWEEN

By Leonard Cucoses
Análisis de DatosExcel

Generar números aleatorios en Excel es fundamental para el análisis de datos, el muestreo aleatorio, simulaciones e investigación. Excel ofrece dos funciones principales para crear números aleatorios: RAND() y RANDBETWEEN().

Esta guía cubre todo lo que necesitas saber sobre la generación de números aleatorios en Excel, desde fórmulas básicas hasta técnicas avanzadas para crear números únicos sin duplicados. Si necesitas activar las herramientas de análisis primero, consulta cómo agregar Data Analysis en Excel.

Las Funciones de Números Aleatorios en Excel

Excel ofrece dos funciones principales para generar números aleatorios, cada una con un propósito diferente:

Función RAND()

La función RAND() genera números decimales aleatorios entre 0 y 1. Cada vez que tu hoja de cálculo se recalcula (cuando haces cambios o presionas F9), RAND() produce un nuevo valor.

Sintaxis:

=RAND()

Características principales:

  • Devuelve valores decimales (por ejemplo, 0.453892, 0.781234)
  • El rango va de 0 (inclusive) a 1 (exclusive)
  • No requiere parámetros
  • Se recalcula automáticamente con cada cambio en la hoja

Ejemplo: Para generar un decimal aleatorio entre 0 y 1, escribe =RAND() en cualquier celda.

Celda de Excel mostrando la función RAND generando un número decimal aleatorio

Figura 1: Función RAND() generando un decimal aleatorio entre 0 y 1

Función RANDBETWEEN()

La función RANDBETWEEN() genera números enteros aleatorios dentro de un rango específico. Es ideal cuando necesitas números completos para muestreo, simulaciones o selecciones al azar.

Sintaxis:

=RANDBETWEEN(valor_inferior, valor_superior)

Parámetros:

  • valor_inferior (el entero más pequeño que quieres generar)
  • valor_superior (el entero más grande que quieres generar)

Características principales:

  • Devuelve solo números enteros
  • Ambos límites son inclusivos
  • Requiere dos parámetros
  • Se recalcula automáticamente

Ejemplo: =RANDBETWEEN(1, 100) genera un entero aleatorio entre 1 y 100 (inclusive).

Cómo Generar Enteros Aleatorios con RANDBETWEEN

RANDBETWEEN es el método más directo para generar números enteros aleatorios en Excel.

Paso 1: Selecciona la celda

Haz clic en la celda donde quieres que aparezca el número aleatorio.

Paso 2: Ingresa la fórmula

Escribe la fórmula RANDBETWEEN con el rango que necesitas. Por ejemplo:

=RANDBETWEEN(10000, 100000)

Esta fórmula genera un entero aleatorio entre 10,000 y 100,000.

Celda de Excel con la fórmula RANDBETWEEN generando un número aleatorio entre 10,000 y 100,000

Figura 2: Fórmula RANDBETWEEN generando un entero aleatorio entre 10,000 y 100,000

Paso 3: Presiona Enter

Excel generará de inmediato un número aleatorio dentro del rango especificado.

Paso 4: Copia a múltiples celdas

Para generar varios números aleatorios:

  1. Selecciona la celda que contiene tu fórmula
  2. Haz clic y arrastra el controlador de relleno (cuadrado pequeño en la esquina inferior derecha) hacia abajo o a los lados
  3. Excel generará un nuevo número aleatorio para cada celda

Controlador de relleno de Excel siendo arrastrado para copiar la fórmula RANDBETWEEN en múltiples celdas

Figura 3: Arrastrando el controlador de relleno para copiar RANDBETWEEN en varias celdas

Múltiples celdas mostrando diferentes números aleatorios generados por RANDBETWEEN

Figura 4: Múltiples números aleatorios generados en fila con RANDBETWEEN

Nota importante: RANDBETWEEN genera números que pueden repetirse. Si necesitas números aleatorios únicos sin duplicados, consulta las técnicas avanzadas a continuación.

Cómo Generar Decimales Aleatorios en Rangos Personalizados

Aunque RAND() genera números entre 0 y 1, puedes escalar fácilmente el resultado a cualquier rango con aritmética simple.

Decimales aleatorios entre dos números cualesquiera

Para generar números decimales aleatorios entre cualquier valor mínimo y máximo, usa esta fórmula:

=RAND() * (max - min) + min

Ejemplo: Para generar decimales aleatorios entre 50 y 100:

=RAND() * (100 - 50) + 50

Esto produce valores como 67.483, 82.194, 55.872, etc.

Enteros aleatorios usando RAND e INT

También puedes combinar RAND() con INT() para crear enteros aleatorios:

=INT(RAND() * (max - min + 1)) + min

Ejemplo: Enteros aleatorios entre 1 y 10:

=INT(RAND() * 10) + 1

Cómo Generar Números Aleatorios Únicos (Sin Duplicados)

Cuando realizas muestreo aleatorio o necesitas identificadores únicos, los números no deben repetirse. Excel no tiene una función incorporada para esto, pero puedes lograrlo combinando RAND() y RANK.EQ().

Método 1: RAND() + RANK.EQ()

Esta técnica genera un ranking único a partir de números decimales aleatorios.

Paso 1: Crea una columna auxiliar con valores RAND()

En la columna A, comenzando desde A1, ingresa:

=RAND()

Arrastra esta fórmula hacia abajo para tantos números únicos como necesites (por ejemplo, 10 filas para 10 números únicos).

Paso 2: Usa RANK.EQ() para crear enteros únicos

En la columna B, comenzando desde B1, ingresa:

=RANK.EQ(A1, $A$1:$A$10)

Esta fórmula clasifica cada valor aleatorio, creando enteros únicos del 1 al 10.

Paso 3: Copia los valores y elimina la columna auxiliar

  1. Copia la columna B
  2. Pega como valores (Pegado especial > Valores)
  3. Elimina la columna A

Ahora tienes números aleatorios únicos del 1 hasta tu rango especificado.

Método 2: RANDARRAY() (Excel 365 y posterior)

Si tienes Microsoft 365 o Excel 2021+, la función RANDARRAY() ofrece un enfoque más simple:

=RANDARRAY(filas, columnas, min, max, TRUE)

Parámetros:

  • filas (cantidad de números aleatorios a generar)
  • columnas (normalmente 1 para una sola columna)
  • min (valor mínimo)
  • max (valor máximo)
  • TRUE (genera enteros únicos sin duplicados)

Ejemplo: Generar 50 enteros aleatorios únicos entre 1 y 100:

=RANDARRAY(50, 1, 1, 100, TRUE)

Esta sola fórmula crea 50 números aleatorios únicos de forma instantánea.

Método 3: SORTBY() + SEQUENCE() (Excel 365)

Otro enfoque en Excel 365 para generar enteros aleatorios únicos:

=SORTBY(SEQUENCE(n), RANDARRAY(n))

Ejemplo: Generar números del 1 al 100 en orden aleatorio:

=SORTBY(SEQUENCE(100), RANDARRAY(100))

Esto crea una secuencia aleatorizada de enteros del 1 al 100 sin duplicados.

Aplicaciones Prácticas y Ejemplos

Muestreo aleatorio para investigación

Cuando seleccionas una muestra aleatoria de un conjunto de datos más grande:

  1. Asigna a cada fila un número aleatorio usando =RAND() en una columna auxiliar
  2. Ordena todo el conjunto de datos por esta columna aleatoria
  3. Selecciona las primeras n filas para tu muestra

Esto garantiza un muestreo aleatorio sin sesgo. Para calcular estadísticos sobre tu muestra, puedes usar las medidas de tendencia central como la media, mediana y moda.

Creación de datos de prueba

Genera datos de prueba realistas para tus hojas de cálculo:

Hoja de Excel con datos aleatorios generados usando RANDBETWEEN para pruebas

Figura 5: Conjunto de datos con números aleatorios generados con RANDBETWEEN para pruebas

Edades aleatorias entre 18 y 65:

=RANDBETWEEN(18, 65)

Precios aleatorios entre 10.00y10.00 y 99.99:

=RANDBETWEEN(1000, 9999) / 100

Fechas aleatorias en 2024:

=RANDBETWEEN(DATE(2024,1,1), DATE(2024,12,31))

Luego formatea la celda como fecha.

Generación de porcentajes aleatorios

Para porcentajes aleatorios (0% a 100%):

=RAND()

Luego formatea la celda como porcentaje.

Para un rango de porcentajes específico (por ejemplo, 20% a 80%):

=RAND() * 0.6 + 0.2

Técnicas Avanzadas y Consejos

Congelar números aleatorios (detener el recálculo)

Los números aleatorios se recalculan cada vez que la hoja cambia. Para congelarlos:

  1. Selecciona las celdas con fórmulas de números aleatorios
  2. Copia (Ctrl+C)
  3. Clic derecho > Pegado especial > Valores
  4. Clic en Aceptar

Las fórmulas se convierten en valores estáticos que no cambiarán. Esto es especialmente útil cuando necesitas calcular la desviación estándar u otros estadísticos sobre los valores generados.

Decimales con RANDBETWEEN

RANDBETWEEN solo produce enteros, pero puedes agregar decimales:

=RANDBETWEEN(1, 100) + RAND()

Esto genera números como 47.638, 82.193, etc.

Para decimales específicos (por ejemplo, dos decimales):

=ROUND(RANDBETWEEN(1, 100) + RAND(), 2)

Generación ponderada de números aleatorios

Para generar números aleatorios donde ciertos valores sean más probables:

Crea una tabla de distribución de probabilidades, luego usa RAND() con VLOOKUP() o INDEX/MATCH para seleccionar valores basados en probabilidades acumuladas.

Errores comunes y soluciones

Error: #NUM!

  • Causa: En RANDBETWEEN, el valor_inferior es mayor que el valor_superior
  • Solución: Verifica que valor_inferior sea menor o igual a valor_superior

Los números siguen cambiando

  • Causa: Excel recalcula las funciones aleatorias automáticamente
  • Solución: Convierte las fórmulas a valores usando Pegado especial

Números duplicados

  • Causa: RANDBETWEEN permite repeticiones por diseño
  • Solución: Usa el método RANK.EQ() o RANDARRAY() con el parámetro TRUE

RAND vs RANDBETWEEN: ¿Cuál Usar?

CaracterísticaRAND()RANDBETWEEN()
Tipo de resultadoNúmeros decimalesNúmeros enteros
Rango0 a 1 (fijo)Cualquier rango que especifiques
ParámetrosNingunoDos (mín y máx)
Ideal paraProbabilidades, porcentajes, escaladoMuestreo, selecciones, conteos
DuplicadosExtremadamente improbablePueden ocurrir
Versión de ExcelTodasExcel 2007 y posterior

Tabla 1: Comparación entre las funciones RAND() y RANDBETWEEN() en Excel

Usa RAND() cuando:

  • Necesites valores decimales
  • Trabajes con probabilidades o porcentajes
  • Crees fórmulas personalizadas para distribuciones específicas

Usa RANDBETWEEN() cuando:

  • Necesites números enteros
  • Selecciones elementos al azar de una lista
  • Simules lanzamientos de dados, números de lotería o escenarios similares

Compatibilidad con Google Sheets

Tanto RAND() como RANDBETWEEN() funcionan de forma idéntica en Google Sheets, por lo que estas técnicas aplican para usuarios de Excel y Google Sheets. La sintaxis y el comportamiento son los mismos en ambas plataformas.

Tabla Comparativa: Métodos para Generar Números Aleatorios

MétodoTipoRango¿Duplicados?Versión ExcelComplejidad
RAND()Decimal0 a 1Muy raroTodasFácil
RANDBETWEEN()EnteroPersonalizado2007+Fácil
RAND() + INT()EnteroPersonalizadoTodasMedia
RAND() + RANK.EQ()Entero (único)1 a nNoTodasMedia
RANDARRAY()Entero o DecimalPersonalizadoOpcional365/2021+Fácil
SORTBY() + SEQUENCE()Entero (único)1 a nNo365/2021+Media

Tabla 2: Resumen de todos los métodos disponibles para generar números aleatorios en Excel

Preguntas Frecuentes

Próximos Pasos

Si ya dominas la generación de números aleatorios, estos recursos te ayudarán a aplicar estas técnicas en tu investigación:

Referencias

  • Walkenbach, J. (2023). Excel 2024 Bible. Indianapolis: John Wiley & Sons.
  • Field, A. (2013). Discovering Statistics Using IBM SPSS Statistics (4th ed.). Sage Publications.
  • Thompson, S. K. (2012). Sampling (3rd ed.). Hoboken: John Wiley & Sons.