这将产生错误:运行时错误“ 424”:必需对象
Private Function Y_Mode() As Double
Dim MaxGrad As Double
MaxGrad = WorksheetFunction.Max(Graduation_Series)
Y_Mode = WorksheetFunction.SumIf(Graduation_Series, MaxGrad, Y_Series)
End Function
在此行失败:
Y_Mode = WorksheetFunction.SumIf(Graduation_Series, MaxGrad, Y_Series)
一切似乎都已正确定义和实例化,每个数组的元素均为Variant / Double类型
Watch : + : Graduation_Series : : Variant/Variant(0 to 14) : SU_Solution.Y_Mode
Watch : : MaxGrad : 474.281204765715 : Double : SU_Solution.Y_Mode
Watch : + : Y_Series : : Variant/Variant(0 to 14) : SU_Solution.Y_Mode
我尝试将MaxGrad放到Range中,然后在SUMIF中引用Range,但这也不起作用。
最佳答案
您不能将SUMIF与数组一起使用。
可以与SUMIF()工作表函数一起使用的条件是
仅限文本,数字或范围,并且该功能无法使用
数组常量。
https://support.microsoft.com/en-us/help/275165/when-to-use-a-sum-if-array-formula