不連續的函數設計

函數平均值, 如何排除資料範圍中有 #DIV , #ERROR , #NUM , 空白資料 , 0 等資料, 再計算平均 , 過去要使用陣列或是一堆IF進行逐一判斷才可以完成的計算 , 其實不需要如此大費週章 , 請使用 VBA 函數就可以了 程式如下

Public Function 不連續平均(ParamArray 資料範圍() As Variant)
  Dim 結果, 次數
結果 = 0
次數 = 0
 For Each 計算值 In 資料範圍
   
    If Application.WorksheetFunction.IsNumber(計算值) Then
        If 計算值 > 0 Then
    結果 = 計算值 + 結果
    次數 = 次數 + 1
        End If
   End If
    Next
    不連續平均 = 結果 / 次數
End Function