【问题标题】:Nested IF statement嵌套 IF 语句
【发布时间】:2013-11-11 17:03:43
【问题描述】:

以下是我在对嵌套 IF 进行一些研究后尝试过的,但是它只给出了语句第一部分的预期结果,而不是其余部分,谁能解释为什么或者我需要不同类型的函数吗?

=if(h4="basic","basic",if(g17>=500,"Standard",if(h4="standard","Standard",if(g17>=750,"Standard+",if(g17<=500,"Basic",if(h4="Standard+","standard+",If(g17<=750,"Standard",if(g17>=850,"Platinum",if(h4="Platinum","Platinum",if(g17<=850,"Standard+","Platinum"))))))))))

感谢您的帮助。

【问题讨论】:

  • 您可能想要尝试的一件事是“公式审核”下内置的“评估公式”(至少在 Excel 2007 中是这样)。这将允许您逐步执行每个 if 语句并查看它在哪里停止,并让您了解它为什么没有按照您的预期执行。
  • 给你两个问题。 1您使用的是哪个 Excel 版本? 2 您已将问题标记为Excel-VBA。您在寻找公式或代码吗?
  • 你应该首先清楚地说明你想要代码做什么,我敢打赌你会弄清楚你的。只要说如果H4是这些值中的任何一个,那么使用这些值,否则如果G17的值大于x然后y等等,使用这个方法,你应该可以自己解决这个问题。

标签: excel if-statement nested nested-if


【解决方案1】:

你有一个如果

if(g17>=500

后来你有

if(g17>=750

最后一个条件永远不会“满足”,因为如果它确实为真,则不会对其进行测试,因为第一个if(g17&gt;=500 将是True

我不知道“预期结果”、“语句的第一部分”或“其余部分”是什么,但希望这会有所帮助。

【讨论】:

  • 感谢您的回复。我期待它通过 Ifs 搜索并找到匹配的条件,当我测试它时,第一个结果正常,但是当我更改为匹配后续 if 语句时,预期结果“标准 +”或“白金”等不显示,第一部分是第一个 if 条件,其余部分是其他 9 感谢
  • 好吧,我怎么写成:大于500但小于750在语句中作为逻辑测试呢
  • 我仍然不确定您的期望。以防万一,请尝试=IF(H4="basic","basic",IF(AND(G17&gt;=500,G17&lt;750),"Standard",IF(H4="standard","Standard",IF(G17&gt;=750,"Standard+",IF(G17&lt;=500,"Basic",IF(H4="Standard+","standard+",IF(G17&lt;=750,"Standard",IF(G17&gt;=850,"Platinum",IF(H4="Platinum","Platinum",IF(G17&lt;=850,"Standard+","Platinum")))))))))),或根据需要在后续测试中添加AND 运算符。
  • 如果Applying multiple conditions to formula 的目标与此相同,请编辑您的问题而不是发布新问题,以与主题保持一致。
【解决方案2】:

你可以试试这个

=IFERROR( INDEX({"basic","Standard","Standard+","Platinum"},MATCH(H4,{"basic","Standard","Standard+","Platinum"},0)),IF(G17>850,"Platinum",IF(G17>750,"Standard+",IF(G17>500,"Standard","Basic"))))

【讨论】:

    【解决方案3】:

    感谢您的建议,我认为我对自己的解释不太清楚,但最后通过一些建议能够解决问题,这里是完成的公式:

    =IF(AND(H4="Basic",G17<450),"Basic",IF(AND(H4="Basic",G17>=450),"Standard",IF(AND(H4="Standard",G17<450),"Basic",IF(AND(H4="Standard",G17>449,G17<700),"Standard",IF(AND(H4="Standard",G17>=700),"Standard+",IF(AND(H4="Standard+",G17>699,G17<800),"Standard+",IF(AND(H4="Standard+",G17<700),"Standard",IF(AND(H4="Standard+",G17>=800),"Platinum",IF(AND(H4="Platinum",G17<800),"Standard+","Platinum")))))))))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-01
      • 2016-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多