如何使 Excel 用户定义函数 (UDF) 在数组函数 (CSE) 中工作?

如何使 Excel 用户定义函数 (UDF) 在数组函数 (CSE) 中工作?

我正在使用 Excel 2010。

我编写了一个 UDF 来为每个月创建一个唯一的编号:yearmonth = 12*Year(date) + Month(date)

现在我想在 CSE 中使用它:{=sum(if(yearmonth('plan'!$j$3:$j$1000)<>yearmonth(A5),0,'plan'!$k$3:$k$1000))}

这会导致 #value! 错误。当我使用“评估公式”时,excel 尝试计算第一个数组 (yearmonth('plan!$j$3:$j$1000)) 时会出现 #value! 错误。因此,问题似乎出在 cse 中使用我的 udf。

udf 本身可以正常工作(在 cse 之外)。如果我删除 udf 并将其替换为长形式的等式 {=SUM(IF(12*YEAR('Plan'!$J$3:$J$1000)+MONTH('Plan'!$J$3:$J$1000)<>12*YEAR(A5)+MONTH(A5),0,'Plan'!$K$3:$K$1000))},也可以正常工作。

我需要做什么?

提前致谢。

相关内容