2015-09-18 59 views
0
M11= 154,535 ; M18= 11,241 ; M22= =IF(M18>0,IF(M11>=120000, "SHARE","DON'T SHARE")) 

M22导致'SHARE'这是所需的结果。正确的公式,错误的输出

O11= 157,600 ; O18= -16,586 ; O22= =IF(O18>0,IF(O11>=120000, "SHARE","DON'T SHARE")) 

O22导致'FALSE',这不是理想的结果。

可能是什么问题(为什么它不显示DON'T SHARE)?

回答

0

那是因为O18小于0(-16,586),并且你不要有第一中频的替代, “IF(O18> 0”,当它出现故障时,逻辑回归是FALSE

你的公式必须是这样的:。

=IF(O18>0,IF(O11>=120000, "SHARE","DON'T SHARE"), "DON'T SHARE") 

=IF((AND(O18>0,O11>=120000), "SHARE","DON'T SHARE") 

我希望我帮助

+0

是的,这很有效好。谢谢。我很困惑,因为我在其他一些情况下使用了我的公式,并且它工作正常。我想我必须了解格式。 –

0

因为你有一个嵌套的IF,而且第一个返回“FALSE”! 尝试这样的:

O11=-16,586; O18=157,600; O22= =IF(O18>0,IF(O11>=120000, "SHARE","DON'T SHARE")) 
+0

这不解决问题,因为当你改变O18变量,对于一个低于0的数字,结果将再次为假。 –

+0

@ JuanC.V。对不起,但你不明白我的意思,请阅读我的答案!请记住,问题是“为什么它不显示'不要分享'?” – duDE

+0

是的,我没有看到,但你只是改变了O18的值,并没有纠正O22的公式。他希望当O18 <= 0或O11 <120000时返回“DO NOT SHARE”的公式。如果不纠正O22公式,下次O18值小于0时输出将为FALSE –

1

你有两个IF语句,但只有一个Else语句嵌套IF

您将需要第二Else

=IF(O18>0,IF(O11>=120000, "Share", "Don't Share"), "Don't Share")

的IF格式

IF (CONDITION, VALUE_IF_TRUE, VALUE_IF_FALSE)

通过格式化,更容易找到。你是本质上说

IF (CONDITION, 
    IF (SECOND_CONDITION, 
      SECOND_CONDITION_TRUE, 
      SECOND_CONDITION_FALSE), 
    VALUE_IF_FALSE (EMPTY IN YOUR EXAMPLE))