我的 Excel 电子表格中出现绿色三角形,表明该单元格的公式有问题,尽管该列单元格中的数据似乎正确且格式正确。
我用来填充该列的代码是:
var avgWeeklyDeliveriesCell = (Excel.Range)_xlSheet.Cells[curDelPerfRow,
AVG_WEEKLY_DELIVERIES_COLUMN];
avgWeeklyDeliveriesCell.Value2 = string.Format("=ROUND(AVERAGE(C{0}:I{0}), 2)",
curDelPerfRow);
avgWeeklyDeliveriesCell.NumberFormat = "#,##0.00";
该列中的值为3.43、1.57、2.00等。
这个公式有什么问题(“=ROUND(AVERAGE(C{0}:I{0}), 2)”)?它似乎有效,那么为什么绿色三角形使它们的存在可见?
更新
我添加了这段代码:
_xlApp.ErrorCheckingOptions.InconsistentFormula = false;
_xlApp.ErrorCheckingOptions.BackgroundChecking = false;
......但这没有区别;我仍然看到绿色的小贱人。
更新 2
我知道大约 99.97% 的警告是虚假的(毕竟,值是正确的),但我无法将其关闭,如前所述。
为什么我这么肯定我的配方是好的?注意这个尖叫声:
当我单击绿色三角形并将鼠标悬停在带有绿色感叹号的标志上时,我看到的消息是,“此单元格中的公式指的是一个具有与其相邻的附加数字的范围”
显示的公式是“ =ROUND(AVERAGE(C10:I10), 2) ”,这是我想要的 - “Sun Orders”到“Sat Orders”的平均值,但显然是因为还有另一列(“Total Orders” ) 位于那些计算出来的和绿色抱怨的之间,它认为有什么不对劲/乱七八糟。
我在想也许我应该将公式更改为:
=ROUND(I11 / 7, 2)
...或者:
=ROUND(I11 DIV 7, 2)
...但这些都不被接受...