所以,在前言中,我是这个Excel业务的完全新手。我已经通过谷歌找到了类似的例子,所以我认为我太遥远了:
=IF( AND(D6=FALSE, OR(ISBLANK(B10),B10=0) ),IF( AND(D6=TRUE,B10>=1)," ","Enter number of components"),"fail")
基本上,第一个IF块评估AND表达式的内容。如果该条件通过,我想评估第二个IF块(如果条件失败,它将向单元格回显错误)。
预先感谢您的协助:)
答案 0 :(得分:2)
根据你的代码,你首先评估D6是否为FALSE,当实现时,你会尝试评估D6 = TRUE。从第一次评估开始,你已经知道这是错误的,所以你的逻辑是有缺陷的。
在我看来,您可能只想评估一次
=IF( AND(D6=FALSE, OR(ISBLANK(B10),B10=0) ), "Enter number of components", "Fail")
答案 1 :(得分:1)
对于这种复杂的东西,你应该尝试将它分解成每个单元格中的小函数。一个好的候选者是将AND移动到它自己的单元格中,然后将其用作AND的第一个参数。我不确定你是否可以有一个IF,所以尝试将value_if_true和value_if_false设置为其他单元格,并在那里进行单独的计算。
答案 2 :(得分:1)
我打破了逻辑,使公式中的内容更加清晰。也许这将有助于您将IF语句的工作方式组合在一起。
if (D6 is false & B10 is blank)
then if (D6 is true & B10 >= 1)
then "" THIS WILL NEVER HAPPEN
else "Enter number of components"
else "fail"
答案 3 :(得分:0)
首先,让我们看一下代码的结构:
if D6 = false AND (isblank(B10) OR B10 = 0)
if D6 = true AND B10 >= 1
put " "
else
put "Enter number of components"
else
put "fail"
您会发现一个问题是,每次进入内部IF语句时,D6都为FALSE。这意味着D6 = TRUE总是导致false,因此第二个IF语句总是失败。换句话说,您的代码相当于:
=IF(AND(D6=TRUE, OR(ISBLANK(B10), B10=0)), "Enter number of components", "fail")
这不是你想要的吗?
答案 4 :(得分:0)
我认为你正在寻找这个:
=IF(OR(ISBLANK(B10),B10=0),"Enter number of components",IF(B10<1,"Fail",""))
如果我理解正确,你想:
上述陈述回应了同样的逻辑。
答案 5 :(得分:-1)
原来这完成了工作:
=IF( OR( AND(D6=TRUE, OR(ISBLANK(B10),B10=0)), AND(D6=FALSE, OR(B10>=1))), "Selection Invalid","")
似乎试图将第二个IF嵌套在第一个IF的“那个”块内,这让人感到愤怒。上述工作,感谢您的回复!