[英]Using Excel Built-in Functions on top of the UDF
我不知道為什么由於某種原因Excel內置函數=SUM()
無法真正總結自定義UDF創建的結果。 它似乎總是以0結尾。
例如,我有一個名為myUDF
的后續UDF,它將返回項目數。
對於單元格A1
:
公式: =myUDF('ItemA')
結果:10
對於單元格B1
:
公式: =myUDF('ItemB')
結果:15
所以當我做=Sum(A1:B1)
並將公式放在單元格C1
,它不會返回25而是返回0。
我試圖使用一些數據格式化的東西(轉換為數字),但仍然沒有運氣。 這里有沒有人有類似的問題? 有關它的原因的任何想法?
謝謝。
編輯:代碼示例
public object MyUDF(string id, string pk, string param1 = "", string param2 = "", string param3 = "", string param4 = "")
{
object result = null;
string strFormula;
double n = 0;
DateTime dt;
try
{
strFormula = buildFormula(id, pk, param1, param2, param3, param4);
result = ws.getServiceResultsDataString(id, objUser, pk, param1, param2, param3, param4);
if (double.TryParse(result.ToString(), out n))
{
result = n;
}
else if (DateTime.TryParse(result.ToString(), out dt))
{
result = dt.Date;
}
ws.Dispose();
objUser = null;
}
catch (Exception ex)
{
}
finally
{
}
return result;
}
您的UDF是返回一個恰好包含數字字符的數字或字符串嗎?
如果我進入Excel並鍵入'10(10,格式化為字符串)和'15(15,格式化為字符串)和SUM()它們,我得到0。
如果我輸入10和15(格式化為數字)和SUM()它們,我得到25。
一些重現問題的示例代碼將允許我們肯定地回答。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.