devxlogo

ArrayStdDev – The standard deviation of a numeric array

ArrayStdDev – The standard deviation of a numeric array

' The standard deviation of an array of any type'' if the second argument is True or omitted,' it evaluates the standard deviation of a sample,' if it is False it evaluates the standard deviation of a population'' if the third argument is True or omitted, Empty values aren't accounted forFunction ArrayStdDev(arr As Variant, Optional SampleStdDev As Boolean = True, _    Optional IgnoreEmpty As Boolean = True) As Double    Dim sum As Double    Dim sumSquare As Double    Dim value As Double    Dim count As Long    Dim index As Long    ' evaluate sum of values    ' if arr isn't an array, the following statement raises an error    For index = LBound(arr) To UBound(arr)        value = arr(index)        ' skip over non-numeric values        If IsNumeric(value) Then            ' skip over empty values, if requested            If Not (IgnoreEmpty And IsEmpty(value)) Then                ' add to the running total                count = count + 1                sum = sum + value                sumSquare = sumSquare + value * value            End If         End If    Next    ' evaluate the result    ' use (Count-1) if evaluating the standard deviation of a sample    If SampleStdDev Then        ArrayStdDev = Sqr((sumSquare - (sum * sum / count)) / (count - 1))    Else        ArrayStdDev = Sqr((sumSquare - (sum * sum / count)) / count)    End IfEnd Function

devx-admin

Share the Post: