2013-08-20

Generar números aleatorios entre dos valores en Ms Access

Title En Access se pueden generar números aleatorios con la función NúmAleat(). Para generar números enteros entre un intervalo, usamos la fórmula:

Int(Límite superior- Límite inferior + 1)*NúmAleat+Límite inferior)
Hacemos clic en la celda Campo de la columna donde deseemos crear el campo calculado y escribimos la expresión necesaria:

Ejemplo, número aleatorio entre 1 y 10:

Número_Aleatorio: Int((10-1+1)*NúmAleat+1) 'En la celda,o bien 
SELECT Int((10-1+1)*Rnd()+1) AS Número_Aletorio; 'en SQL
Si no necesitamos número enteros, borramos la función Int

(Límite superior- Límite inferior + 1)*NúmAleat+Límite inferior

Entradas relacionadas

4 comentarios:

  1. Este método me genera una secuencia siempre igual cada vez que se reinicia algo. ¿Hay alguna forma de que sea 100% aleatoria siempre?

    ResponderEliminar
    Respuestas
    1. ¿Te refieres a que genera el mismo número aleatorio para todos los registros?

      Eliminar
    2. No. Siempre es la misma secuencia (los valores son a modo de ejemplo): 71, 58, 53, 120... Reinicias el programa (Access, Excel o el que uses) y ejecutas y vuelve a iniciar exactamente la misma secuencia: 71, 58, 53, 120... ¿hay alguna forma que siempre sean diferentes?

      Eliminar
    3. Lo siento, pero no puedo reproducir lo que comentas. Esta entrada es específica de Ms Access, y el número es el mismo para todas las filas y cambia cada vez que ejecutas la consulta.

      Si refieres a otros programas como Excel sería otra cuestión. Habría que ver qué fórmulas emplea. ALEATORIO debe cambiar cada vez que presionas F9 o abres el libro con el modo de cálculo en automático.

      Te recomiendo que plantees tu duda específica en alguno de los múltiples foros de Access o Excel de una manera más específica y con un ejemplo reproducible.

      Eliminar

Nube de datos