【问题标题】:Excel formula using more ifExcel 公式使用 more if
【发布时间】:2018-08-03 07:50:27
【问题描述】:

我的嵌套 if 条件作为 Excel 公式存在问题。我知道使用 VBA 会更容易,但我必须这样做。

这是我的公式,但它返回 FALSE: =IF(D:D="超级";IF(AND(AA:AA="0";AA:AA="1");"V";IF(AA:AA="3";"R"; "O")))

D:D 列有 3 个过滤器,我必须对每个过滤器应用相同的公式。 AA:AA 列具有以下条件: - 如果 0 和 1 -> V - 如果 3 -> R - 如果有别的 -> O

我不知道为什么它不起作用,但我会很感激任何建议! This will return R, because there is 3 in there

enter image description here

【问题讨论】:

  • 好吧,乍一看,当 AA:AA 范围内的单元格同时为 0 和 1 时,您希望 AND() 为真?您的意思可能是 OR(),因此为 0 或 1 的值输入“V”?
  • @SolarMike 看起来你写的和我一分钟前写的一样,如果你想写它作为答案,我会删除我的
  • @M.Douda 不,我在你前面 15 秒,这不是问题:你做得很好。
  • @Jeeped 这次不是,但我试图让 OP 自己应用 OR(),但这可能不是基于 OP 的 cmets 的唯一问题...
  • 本题需要展示数据和预期结果——请添加到题中——不要添加到cmets中。

标签: excel if-statement excel-formula


【解决方案1】:

我认为这更多是优先考虑逻辑流程的问题。似乎至少有一次出现的 SUPER with 3 取代了其余的。下一个优先级是 0 的 SUPER 和 1 的 SUPER(两者都必须发生)。如果这些都不适用,则默认为 O。

=if(countifs(d:d, "super", aa:aa, 3), "R", if(not(and(countifs(d:d, "super", aa:aa, 0), countifs(d:d, "super", aa:aa, 1))), "O", "V"))
'with semi-colons
 =if(countifs(d:d; "super"; aa:aa; 3); "R"; if(not(and(countifs(d:d; "super"; aa:aa; 0); countifs(d:d; "super"; aa:aa; 1))); "O"; "V"))

【讨论】:

  • 它只适用于V结果,但它不会显示O
  • 我错过了一堆。我所有的 AA:AA 参考都是 A:A。上面固定。
  • 我已经改变了,当我应用我的公式时,我不认为是这样
  • 我现在明白了,这是优先级问题,首先应该是 3,然后是其他任何东西,然后是 0 和 1。你能帮我改变一下吗?
【解决方案2】:
=IF(COUNTIFS(D:D;"super";AA:AA;3)<>0;"R";IF(COUNTIFS(D:D;"super";AA:AA;1)*COUNTIFS(D:D;"super";AA:AA;0)=0;"O";"V"))

条件的顺序是错误的,而且您通常不能以您的方式引用整个列。此公式首先检查是否有任何值为 3 的单元格。如果没有,则将 1 和 0 的计数相乘以检查两个数字是否都存在。

【讨论】:

  • 用我的值更改它后它不起作用,如果语法错误,它会说语法。 0,1,3 值是字符串,如果是这样的话我不知道
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多