簡體   English   中英

在UDF之上使用Excel內置函數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM