希望有人能用 EPPLUS 和 Formulas 解决这个问题。我收到无效的 #REF!当我尝试将公式分配给单元格时,最后一行似乎没有问题地接受公式并且计算正确。
这是分配公式时的逻辑。我正在引用另一张表中的数据。
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 文件的样子。
这是在最后一个单元格上生成的公式:
=SUMIF(DataSummary[Strategy],$B28,DataSummary[ExecQty])
=SUMIF(DataSummary[Strategy],$B28,DataSummary[PrincipalAmount])
如果我向上复制这两个公式,这就是预期的结果:
=SUMIF(DataSummary[Strategy],$B27,DataSummary[ExecQty])
=SUMIF(DataSummary[Strategy],$B27,DataSummary[PrincipalAmount])
当它有无效的#REF!这就是公式中显示的内容:
=SUMIF(#REF!,$B27,#REF!)