La semana pasada me escribieron, preguntado lo siguiente:
"Tengo una columna en Excel de 70000 datos, todos números naturales, y me gustaría ir promediando cada 20 datos, sin repetir los que se van sumando es decir: toma los primeros 20, los promedia, se obtiene el nuevo valor, y prosigue con los otros 20 siguientes y así hasta que llegue a el dato 70000! Agradezco tu ayuda!"
Pero como indica el dicho: "Mas vale tarde que nunca", hay otro dicho "Mas sabe el diablo por Facebook que por diablo", aquí va la respuesta:
En una hoja de Excel, coloque valores numéricos aleatorios de la siguiente manera:
Para encontrar la solución mas rápida utilice Macros en Excel. Para ello presionamos ALT + F11 y aparecerá el Visual Basic.
En el menú Insertar, seleccionamos la opción Módulo:
Y luego a continuación copiamos el siguiente código:
Sub Promediototal()
Cantidad = InputBox("Ingrese la cantidad de numeros que desea promediar en cada bloque")
finlin = ActiveSheet.Cells(65000, 1).End(xlUp).Row
Range("A1").Select
Do While ActiveCell.Row <= finlin
Suma = 0
Promedio = 0
For x = 1 To Cantidad
Suma = Val(ActiveCell) + Suma
ActiveCell.Offset(1, 0).Select
Next x
Promedio = Suma / Cantidad
ActiveCell.Offset(-1, 1) = Promedio
Loop
End Sub
Este proceso primero me pregunta cada cuantos números vamos a promediar. En el caso indicado, se dice que cada 20 números se sacará el promedio.
Cerramos el Visual Basic, y en el Excel nos vamos a la etiqueta Vista, el último botón dice Macros, hacemos clic en él, y luego seleccionamos la macros PromedioTotal, y hacemos clic en Ejecutar.
Colocaremos en este caso el número 20 y luego hacemos clic en Aceptar
La macros me devolverá el promedio cada 20 números y lo colocará a la par:
Espero que les sirva
Saludos
Ing. Enrique Neciosup Morales
No hay comentarios.:
Publicar un comentario