Skip to main content

Generar número aleatorio dado un promedio y desviación estándar específicos en Excel

Author: Sun Last Modified: 2025-07-21

Generar un conjunto de números aleatorios con un promedio y una desviación estándar especificados es un requisito común en áreas como la simulación estadística, pruebas de algoritmos o modelado de procesos en campos como las finanzas, la ingeniería y la educación. Sin embargo, Excel no proporciona una función incorporada directa para generar instantáneamente una lista de números aleatorios adaptada tanto a un promedio como a una desviación estándar dados. Si necesita frecuentemente crear datos de prueba aleatorios que coincidan estadísticamente con características particulares, saber cómo lograrlo puede mejorar enormemente la eficiencia de su flujo de trabajo y la calidad de los datos.

En este tutorial, presentaremos formas prácticas de generar números aleatorios basados en el promedio y la desviación estándar que especifique, con instrucciones detalladas paso a paso, explicaciones de los parámetros de las fórmulas y consejos de expertos para la prevención de errores y solución de problemas. Además, proporcionamos una solución de macro VBA para usuarios que necesitan automatizar este proceso o generar grandes conjuntos de datos de manera eficiente.

Generar número aleatorio dado el promedio y la desviación estándar

Código VBA - Generar números aleatorios con promedio y desviación estándar especificados


arrow blue right bubble Generar número aleatorio dado el promedio y la desviación estándar

En Excel, puede crear un conjunto de números aleatorios que se ajusten al promedio y la desviación estándar deseada aplicando una combinación de funciones estándar. Siga estos pasos para obtener una solución adecuada para conjuntos de datos pequeños o medianos, o para necesidades rápidas y ad-hoc:

1. Primero, ingrese su promedio objetivo y su desviación estándar en dos celdas vacías separadas. Para mayor claridad y organización, digamos que usa la celda B1 para el promedio requerido y la celda B2 para la desviación estándar requerida. Consulte la captura de pantalla:
 type mean and standard deviation into two empty cells

2. Para crear los datos aleatorios iniciales, vaya a la celda B3 e ingrese la siguiente fórmula:

=NORMINV(RAND(),$B$1,$B$2)
Después de ingresar la fórmula, arrastre el controlador de relleno hacia abajo para llenar tantas filas como necesite para su conjunto de datos aleatorios. Cada celda generará un valor basado en el promedio y la desviación estándar especificados.
enter a formula and fill to other cells

Consejo: Dentro de la fórmula =NORMINV(RAND(),$B$1,$B$2):

  • RAND() produce una probabilidad aleatoria diferente entre 0 y 1 cada vez que la hoja de cálculo se recalcula.
  • $B$1 se refiere al valor medio que ha especificado.
  • $B$2 se refiere a la desviación estándar deseada.
Para versiones modernas de Excel (2010 y posteriores), considere usar =NORM.INV(RAND(),$B$1,$B$2), que es funcionalmente lo mismo pero refleja nombres de funciones actualizados.

3. Para verificar que sus números generados se asemejen estadísticamente al promedio y la desviación estándar deseados, use las siguientes fórmulas para calcular los valores reales de su muestra generada. En la celda D1, calcule el promedio de la muestra con:

=AVERAGE(B3:B16)
En D2, calcule la desviación estándar de la muestra con:
=STDEV.P(B3:B16)
apply this AVERAGE function to calculate the mean
apply this STDEV.P function to calculate the standard deviation

Consejo:

  • B3:B16 es solo un rango de ejemplo. Ajuste según la cantidad de valores aleatorios que haya generado en el Paso 2.
  • Una muestra aleatoria más grande da como resultado un promedio y una desviación estándar reales más cercanos a los valores especificados, debido a la ley de los grandes números.

4. Para ajustar aún más su serie para que coincida exactamente con su promedio y desviación estándar deseados, normalice sus valores aleatorios iniciales. En la celda D3, ingrese la siguiente fórmula:

=$B$1+(B3-$D$1)*$B$2/$D$2
Arrastre el controlador de relleno hacia abajo a través de tantas filas como tenga números aleatorios. Esta fórmula estandariza sus valores iniciales y los escala precisamente para cumplir con el promedio y la desviación estándar en B1 y B2.
enter a fromula to generate the real random numbers

Consejo:

  • B1 es su promedio requerido.
  • B2 es su desviación estándar requerida.
  • B3 es el valor aleatorio original.
  • D1 es el promedio de esos valores aleatorios originales.
  • D2 es la desviación estándar de esos valores aleatorios originales.

Ahora puede confirmar que el conjunto final de valores cumple con sus requisitos recalculando su promedio y desviación estándar para fines de aseguramiento de calidad y documentación.

5. En la celda D17, calcule el promedio de su conjunto final de números aleatorios con la siguiente fórmula:

=AVERAGE(D3:D16)
Luego, en la celda D18, calcule la desviación estándar con la siguiente fórmula:
=STDEV.P(D3:D16)
check the mean and standard deviation of the final random number series with formulas

Consejo: D3:D16 se refiere al rango de sus números aleatorios finalizados.

Solución de problemas:

  • Si ve un error #VALOR!, verifique todos los rangos de celdas referenciados y asegúrese de que ninguna fórmula haga referencia a celdas en blanco o inválidas.
  • Si la fórmula sigue cambiando cada vez que recalcula, seleccione los números aleatorios finales, cópielos y use Pegado Especial > Valores para evitar más actualizaciones.
  • Recuerde que los generadores aleatorios en Excel dependen del recálculo, por lo que guardar resultados estáticos es necesario cuando la consistencia es crítica.

Código VBA - Generar números aleatorios con promedio y desviación estándar especificados

Para escenarios en los que necesita producir rápidamente una gran cantidad de datos aleatorios que coincidan con un promedio y una desviación estándar especificados, especialmente en casos repetitivos, automatizados o de alto volumen, una macro VBA ofrece una solución que ahorra tiempo. Con una sola ejecución, puede crear un conjunto de datos completo directamente en su libro de trabajo, reduciendo la repetición manual y minimizando errores de copia de fórmulas.

Este enfoque es adecuado para:

  • Generar automáticamente conjuntos de datos aleatorios para simulaciones, pruebas de estrés o demostraciones educativas.
  • Situaciones en las que desea estandarizar el formato de salida con mínima intervención manual.
  • Usuarios familiarizados con el uso del Editor de VBA en Excel.

En comparación con los métodos de fórmulas, VBA también puede permitir ajustes dinámicos o integración con flujos de trabajo más complejos, pero tenga en cuenta que las macros deben estar habilitadas en su libro de trabajo y pueden requerir un guardado explícito en formato .xlsm "habilitado para macros".

1. En la barra de herramientas de Excel, haga clic en Herramientas de Desarrollo (si no está visible, habilítela mediante Archivo > Opciones > Personalizar Cinta), luego seleccione Visual Basic. En la ventana de Visual Basic para Aplicaciones, haga clic en Insertar > Módulo, y copie el siguiente código en la ventana del módulo vacío:

Sub GenerateRandomNumbersWithMeanStd()
    Dim outputRange As Range
    Dim meanValue As Double, stdDevValue As Double
    Dim numItems As Long, i As Long
    Dim xTitleId As String
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set outputRange = Application.InputBox("Select the output range", xTitleId, Type:=8)
    meanValue = Application.InputBox("Enter the mean value", xTitleId, "", Type:=1)
    stdDevValue = Application.InputBox("Enter the standard deviation", xTitleId, "", Type:=1)
    
    If outputRange Is Nothing Or meanValue = 0 Or stdDevValue = 0 Then
        MsgBox "Please ensure you have specified all required parameters.", vbExclamation, "KutoolsforExcel"
        Exit Sub
    End If
    
    numItems = outputRange.Count
    Randomize
    
    For i = 1 To numItems
        outputRange.Cells(i).Value = Application.WorksheetFunction.NormInv(Rnd, meanValue, stdDevValue)
    Next i
End Sub

2. Haga clic en el Run button Ejecutar botón (o presione F5) para iniciar la macro. Un cuadro de diálogo le pedirá que seleccione el rango donde desea generar los números aleatorios (por ejemplo, seleccione A1:A100 para 100 valores). Luego, se le pedirá que ingrese el promedio deseado y la desviación estándar. La macro llenará el rango con números aleatorios que coinciden con sus especificaciones.

Consejos y Solución de Problemas:

  • VBA utiliza la función NormInv de Excel para generar números distribuidos normalmente; siempre verifique si su versión la soporta; para versiones anteriores de Excel, la función podría necesitar ser NORMINV.
  • La semilla aleatoria se establece con Randomize para obtener resultados variados en cada ejecución.
  • Si desea resultados reproducibles, comente o elimine la línea Randomize.
  • La macro sobrescribirá cualquier dato existente en el rango de salida seleccionado, así que asegúrese de elegir un área vacía si es necesario.
  • Si ingresa valores inapropiados (por ejemplo, una desviación estándar negativa o cero), la macro no procederá y mostrará un mensaje de advertencia.

Artículos Relacionados:

Las mejores herramientas de productividad para Office

🤖 Kutools AI Aide: Revoluciona el análisis de datos basado en: Ejecución inteligente | Generar código | Crear fórmulas personalizadas | Analizar datos y generar gráficos | Invocar Funciones mejoradas
Funciones populares: Buscar, resaltar o marcar duplicados | Eliminar filas en blanco | Combinar columnas o celdas sin perder datos | Redondear...
Super BUSCARV: Búsqueda por varios criterios | Búsqueda de varios valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Crea rápidamente una lista desplegable | Lista desplegable dependiente | Lista desplegable de selección múltiple....
Administrador de columnas: Agregar un número específico de columnas | Mover columnas | Alternar el estado de visibilidad de columnas ocultas | Comparar rangos y columnas...
Funciones destacadas: Cuadrícula de enfoque | Vista de diseño | Barra de fórmulas mejorada | Administrador de Libro de trabajo y Hoja de cálculo | Biblioteca de AutoTexto | Selector de fechas | Combinar Datos | Cifrar/Descifrar celdas | Enviar correo electrónico por lista | Super Filtro | Filtro especial (filtrar celdas con fuente en negrita/cursiva/tachado...)...
Top15 conjuntos de herramientas:12 herramientas de texto (Agregar texto, Eliminar caracteres específicos, ...) | Más de50 tipos de gráficos (Diagrama de Gantt, ...) | Más de40 fórmulas prácticas (Calcular edad basada en la fecha de nacimiento, ...) |19 herramientas de inserción (Insertar código QR, Insertar imagen desde ruta, ...) |12 herramientas de conversión (Convertir a palabras, Conversión de moneda, ...) |7 herramientas para combinar y dividir (Combinar filas avanzado, Dividir celdas, ...) | ... y más

Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...


Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo

  • Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
  • ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!