excel“IF”公式返回“0”(不应该)

时间:2013-06-18 17:09:03

标签: excel excel-formula

这是公式

=IF(
    AND(
        NOT(ISERROR(Table3[[#This Row],[lot_ID]])),
        Table3[[#This Row],[uniquness]]="unique"
    ),
    LEFT(Table3[[#This Row],[lot_ID]],3),
    "junk"
)

下面是公式评估(省略了一些中间步骤。最后两个包含谜题。)

这个谜团真的让我受益匪浅。

step 1

Step 2

Step 3...

...Step 8

Step 9

5 个答案:

答案 0 :(得分:3)

我有完全相同的问题。

原来我有一个循环引用搞乱了。

解决了这个问题
  1. 转到公式标签 - >
  2. 公式审核 - >
  3. 错误检查 - >
  4. 循环参考
  5. 它向我展示了一个圆形参考的确切细胞。一旦调整,一切都按预期开始工作。

答案 1 :(得分:1)

这肯定与通函相关。尽管单元审核循环参考是灰色的,但还是有同样的问题,这通常意味着没有循环参考。通过以下方式查明原因:1)将值键入那个带有0问题的单元格2)按下撤消3)得到了有关循环参考错误的错误消息。仍然不知道如何跟踪该循环引用的来源。

答案 2 :(得分:0)

可能的答案:

“IF”公式仅在这些条件下返回“0”值:

 1. "Value_if_true"  =  0     AND Logical_test = TRUE
 2. "Value_if_false" =  0     AND Logical_test = FALSE
 3. "Value_if_true"  = "0"    AND Logical_test = TRUE
 4. "Value_if_false" = "0"    AND Logical_test = FALSE
 5. "Value_if_true"  = (NULL) AND Logical_test = TRUE
 6. "Value_if_false" = (NULL) AND Logical_test = FALSE

根据您的屏幕截图,您在“Value_if_true”和“Value_if_false”中都有字符串。因此,我们必须检查Excel如何评估这些字符串:

在Excel(2010)中,进入

"Options" > "Advanced" > "Lotus Compatibility Settings for: [YourSheetName]"

检查是否选中了“转换公式条目”选项。如果是,那么你可能发现了你的问题。你只需要取消选中它。如果未选中,则保持未选中状态。

当启用“转换公式条目”选项时,Excel将字符串计算为0。它会将你的公式评估为"=IF(TRUE,0,0)",然后评估为0,就像你说的那样。

答案 3 :(得分:0)

您可以对if true和if false进行长度检查:

= IF(B2 = “”,IF(LEN(C2)大于0,C2 “”),IF(LEN(B2)大于0,B2, “”))

答案 4 :(得分:0)

我也有IF状态返回0的经验,当它应该返回yes或“no”时(使用Office'13,16GB pc)。

我的问题是需要处理公式和完整公式的文件,并在几分钟后最终返回“是”或“否”。但它确实造成了10分钟的混乱......足以让我和谷歌一起找到这个。