我在Microsoft Excel中创建了一个非常长的“IF语句”,并且有一个小问题。该语句以“OR”选项打开,该选项建立两个可能的路径(见下文)。第一个路径后面的每一行数据都会输出预期的数值,但第二个路径后面的每一行数据都会在目标单元格中输出字符短语“FALSE”。
这就是怪物的样子:
=IF(OR(DG386<=3,DG386>3),IF(DG386<=3,IF(DR386<DO386,((DP386-DM386)/DI386)*100,IF(DG386<=3,IF(DR386>=DO386,((DO386-DM386)/DI386)*100)))),IF(DG386>3,(DI386-DM386)/DI386)*100)
当我突出显示方程式以查看它如何分解时,“逻辑测试”,“值如果为真”,“值如果为假”组件如下所示:
Logistic test: OR(DG386<=3,DG386>3)
Value if true: IF(DG386<=3,IF(DR386<DO386,((DP386-DM386)/DI386)*100,IF(DG386<=3,IF(DR386>=DO386,((DO386-DM386)/DI386)*100))))
Value if false: IF(DG386>3,(DI386-DM386)/DI386)*100
我一直非常小心地试图让最后一部分合作,并且不明白为什么它不会。它是没有错误的,并且声明的组件似乎在我所知的最佳顺序。对此的任何帮助将不胜感激。
赖安
答案 0 :(得分:0)
FALSE响应可能会出现,因为你已经嵌套了IF语句但没有定义&#34;值如果为False&#34;那些表达。
例如,在你的表达式中,如果&#34; Value if True&#34;条件:IF(DG386&lt; = 3,IF(DR386 = DO386,((DO386-DM386)/ DI386)* 100))))被评估,使得那些内部IF语句中的任何一个评估为FALSE,您的表达式将返回FALSE。
另外,您可能需要仔细检查您的起始OR条件 - 不会始终为真(&lt; = 3或&gt; 3)?因此,如果错误,您可能永远不会达到&#34;价值&#34;块。 &#34;
答案 1 :(得分:0)
Ach,我不知道我在做“OR”的事情。这很有用。
= IF(DG266&LT; = 3,IF(DR266 = DO266,((DO266-DM266)/ DI266)* 100)),((DI266-DM266)/ DI266)* 100)