devxlogo

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

Charlie has over a decade of experience in website administration and technology management. As the site admin, he oversees all technical aspects of running a high-traffic online platform, ensuring optimal performance, security, and user experience.

See also  Seven Service Boundary Mistakes That Create Technical Debt

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.