Macro que calcule promedio y desviación standard

Para Dante Amor:

Quisiera tener una macro a partir de Private Sub Worksheet_Change(ByVal Target As Range) que vaya calculando el promedio y desviación standard de las cantidades que van cambiando con cada ingreso de nuevas celdas.

En la columna "U" tengo puesto "Código de Artículo", en la "V" tengo el nombre del artículo y en "W" tengo la cantidad.

En la celda "AD14" debe poner el promedio de esas cantidades y en "AE14" debe poner la desviación standard.

La macro ha de tener en cuenta el hecho de que van incrementandose filas y ha de calcular las fórmulas pedidas con dichas celdas de cantidades nuevas. Asimismo que no tenga en cuenta cantidades iguales a "0"

1 respuesta

Respuesta
1

H o l a:

La macro te calcula la desviación estándar, entendiendo que se va a trabajar sobre el total de la población, es decir, no se está tomando una muestra.

Por lo tanto, la fórmula es la siguiente:


Pon la siguiente macro en los eventos de tu hoja:

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    'Funcion: Desviación Estándar Población Total
    If Not Intersect(Target, Range("W:W")) Is Nothing Then
        For Each n In Range("W3:W" & Range("W" & Rows.Count).End(xlUp).Row)
            If n > 0 Then
                suma = suma + n
                cuen = cuen + 1
                cuad = cuad + n ^ 2
            End If
        Next
        If cuen > 0 Then
            prom = suma / cuen
            [AD14] = prom
            [AE14] = Sqr((cuad / cuen) - (prom ^ 2))
        Else
            [AD14] = 0
            [AE14] = 0
        End If
    End If
End Sub

Cambia en la macro W3 por la celda donde inician las cantidades.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas