导致我在Excel电子表格中看到绿色三角形的公式有什么问题?
作者:互联网
我在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)
…但都不接受…
解决方法:
问题是“总订单”列是一个设置值,而不是公式.将“总订单”列设置为:
=SUM(C10:I10)
您的警告将消失.您的平均公式是正确的,Excel只是在寻找您.
标签:excel-formula,excel-interop,error-checking,c 来源: https://codeday.me/bug/20191119/2033228.html