如何讓 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!錯誤。當我使用「評估公式」時,#value!當 Excel 嘗試計算第一個陣列 (yearmonth('plan!$j$3:$j$1000)) 時,會出現錯誤。所以看來問題出在 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))} 也可以正常運作。

我需要做什麼?

提前致謝。

相關內容