Excelの組み込み関数=SUM()
が何らかの理由でカスタムUDFによって作成された結果を本当に集計できないのがわかりません。それは常に0で終わるようです。Excelの組み込み関数をUDFの上に使用する
例えば、myUDF
と呼ばれる次のUDFがあります。これはアイテムの数を返します。
式:=myUDF('ItemA')
結果:セルB1
については10
:
式:=myUDF('ItemB')
結果:セルA1
については
は、だから私は=Sum(A1:B1)
を行うと、セルに数式を入れC1
代わりに25ではなく0を返します。
私はいくつかのデータ書式設定用のもの(数字に変換)を使用しようとしましたが、そこにはまだ運がありません。誰もここに似た問題があったのですか?それの原因に関する任意のアイデア?
ありがとうございました。
EDIT
: コードサンプル 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;
}
うん、良い点。 Excelで文字列値を数値に変換する方法はありますか? – woodykiddy
はい、VALUE関数 –
あなたのUDFが文字列ではなくIntまたはDoubleを返すだけであれば、それは必要ではありません。 –