誰かが EPPLUS と Formulas でこの問題を解決できることを願っています。無効な #REF を取得しています! 数式をセルに割り当てようとすると、最後の行は問題なく数式を受け入れているようで、計算が正しく行われます。
Formula の代入時のロジックは次のようになります。別のシートのデータを参照しています。
string formula1 = "";
string formula2 = "";
int uniqueTimeRow = 14;
if (uniqueTimes.Rows.Count != 0)
{
foreach (DataRow row in uniqueTimes.Rows)
{
if (row["ExecutionTime"].ToString() != "")
{
wsSummary.InsertRow(uniqueTimeRow, 1, uniqueTimeRow);
wsSummary.SetValue(uniqueTimeRow, 2, row["ExecutionTime"].ToString());
formula1 = "SUMIF(DataSummary[Strategy],$B" + uniqueTimeRow.ToString() + ",DataSummary[ExecQty])";
formula2 = "SUMIF(DataSummary[Strategy],$B" + uniqueTimeRow.ToString() + ",DataSummary[PrincipalAmount])";
wsSummary.Cells[uniqueTimeRow, 3].Formula = formula1;
wsSummary.Cells[uniqueTimeRow, 4].Formula = formula2;
uniqueTimeRow++;
}
}
}
これは、結果のExcelファイルがどのように見えるかです。
無効な #REF を使用して Excel で作成されたテーブル!
これは、最後のセルで作成された数式です。
=SUMIF(DataSummary[Strategy],$B28,DataSummary[ExecQty])
=SUMIF(DataSummary[Strategy],$B28,DataSummary[PrincipalAmount])
これらの 2 つの式を上にコピーすると、これが期待どおりに生成されます。
=SUMIF(DataSummary[Strategy],$B27,DataSummary[ExecQty])
=SUMIF(DataSummary[Strategy],$B27,DataSummary[PrincipalAmount])
無効な #REF! これが式に現れるものです:
=SUMIF(#REF!,$B27,#REF!)