Excel Integration为Sum提供0,但为通过指定值添加单元格的#Value :(

时间:2013-10-28 21:39:55

标签: .net excel integration

我们与Excel文档集成,后者使用大量复杂的公式和算法来计算数千个值(在单个文档中的某些时间)。

问题1 :问题是使用SUM函数返回0而不是计算值,例如将值放在两列中并尝试使用SUM函数和Cell1 + Cell2来理解其中一个的问题。 :(

9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999

修复1 : 该问题的解决方案是使用列名而不是Sum函数,但我们不允许更改excel文档(多个版本),因为这些文档不应该被更改。

第2期: 我认为这不是死路一条,但报告的问题是错误的结果,因为有人需要解决这些问题。

修复2和问题#3 : 我们通过识别0值添加了一个组件来捕获此场景,但80%的自动报告问题具有有效场景,0结果是正确的。

要修复3 : 现在我们有另一个方向来编写一些算法,通过检查源值来识别和过滤那些80%自动识别的问题,这将减少自动识别的问题的数量,并且由于一些无效的数据输入,只有20%会出现手动修复:(

我们只想获得一些反馈,因为我们认为在确定所有(80%)有效方案后,我们可能会遇到更多问题。即使是要修复#3也需要付出巨大努力(Dev / QA)以及更多......

重要:excel文件的数量为数千/月,但有73个相同的模板(开头有15个模板,但现在几年内模板数量增加了)。如果不是73个标准模板的一部分,那么有人必须在系统中手动修复和重新加载以进行处理,或者引入新模板,为其开发和部署新组件。用户不想离开Excel,但后台需要一些自动系统来减少工作量。

1 个答案:

答案 0 :(得分:0)

要绕过#value或'zero'返回不准确的地方,你可以检查语句是否会抛出错误,然后用一些值标记它,你现在可以轻松地将你的20%失败分开。

例如,如果上面带有999的A1 + A2导致#value,请尝试改为:

=IFERROR(A1+A2,"Failed")

现在,您可以轻松找到所有“失败”单元格并“更新”它们。