输入公式时的值错误

时间:2013-06-22 14:31:46

标签: excel excel-2007 excel-formula formula array-formulas

我的代码在我的测试表中运行正常,但是当我在活动表中输入它时,我得到一个值错误...有什么建议吗? 我真的不知道我做错了什么,真的把我的头发拉了出来。 任何帮助,为什么我得到这个错误将不胜感激。

以下代码在我的测试表中完美运行并正确返回所有值,不知何故,当我在重要的表单中输入它时,繁荣值错误。

=IF(J5="YES",SUM((E10:I610>11538)*(E10:I610<=34760)*(A10:A610="No")*ROUND(E10:I610*0.056,0))+SUM((E10:I610>34760)*ROUND(34760*0.056,0)),0) 

2 个答案:

答案 0 :(得分:1)

这是一个数组公式,因此请使用Ctrl-Shift-Enter而不是Enter来完成它。

答案 1 :(得分:1)

我同意道格 - 假设您在参考范围内没有错误,它看起来像#VALUE!错误只会由于尝试将ROUND函数应用于文本值而引起 - 此版本应该避免该错误

=IF(J5="YES",SUM(IF(E10:I610>11538,IF(E10:I610<=34760,IF(A10:A610="No",ROUND(E10:I610*0.056,0)),IF(ISNUMBER(E10:I610),ROUND(34760*0.056,0))))),0)

使用 CTRL + SHIFT + ENTER确认

.....但检查结果,因为修复可能会影响预期结果

注意:如果E10:I610> 34760然后总和包括34760 * 0.056舍入(即1947),无论A列值如何(根据您的公式)。这是意图吗?

重新评论 - 这个修订版本应该做你想要的

=IF(J5="YES",SUM(IF(E10:I610>11538,IF(A10:A610="No",IF(ISNUMBER(E10:I610),ROUND(IF(E10:I610>34760,34760,E10:I610)*0.056,0))))),0)