3

我的 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.431.572.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)

...但这些都不被接受...

4

1 回答 1

3

问题是“总订单”列是一个设定值,而不是公式。将“总订单”列设置为:

=SUM(C10:I10)

显示插入值与公式的示例 excel 图像

你的警告会消失。您的平均公式是正确的,Excel 只是在寻找您。

于 2016-02-09T04:54:39.240 回答