【问题标题】:Excel IF-formula with multiple conditions from 4 columns具有 4 列的多个条件的 Excel IF 公式
【发布时间】:2018-05-04 02:33:06
【问题描述】:

在 B、C、D 和 E 列中有值(人们的年龄)。如果年龄低于 23 或高于 67,我试图得到输出“2”。但我必须考虑到可能存在单元格显示文本,可能包含值为 0 的单元格,甚至是空白。所以我得到了 B 列的这个公式:

=IF(ISNUMBER(B2),IF(OR(AND(B2>0,B2<23),B2>67),2,""),"")

公式有效,但我想对 C、D 和 E 列做同样的事情 - 并将它们全部放入一个公式中。如果 4 列中的任何一列满足我的年龄条件,这应该有输出“2”。而我的问题是,我显然没有能力完成这个任务......任何人都可以帮助我吗?

【问题讨论】:

  • 介意张贴样本数据的截图吗?

标签: excel if-statement excel-formula


【解决方案1】:

Edit 2 - 添加了对非连续范围的支持。这不是数组公式”

=IF(OR(AND(N(B1)&gt;0,N(B1)&lt;23),AND(N(F1)&gt;0,N(F1)&lt;23),AND(N(L1)&gt;0,N(L1)&lt;23),AND(N(X1)&gt;0,N(X1)&lt;23),MAX(B1,F1,L1,X1)&gt;67),2,0)

***已编辑以考虑所有四个单元格可能是文本、空白、0 或 3 的组合。

这是一个数组公式,它考虑了单元格中可能存在的文本、空白和零单元格:

=IF(SUM((B1:E1=0)+ISBLANK(B1:E1)+ISTEXT(B1:E1))&gt;3,0,IF(OR(MAX(IF(B1:E1=0+ISBLANK(B1:E1)+ISTEXT(B1:E1),60,B1:E1))&gt;62,MIN(IF(B1:E1=0+ISBLANK(B1:E1)+ISTEXT(B1:E1),60,B1:E1))&lt;23),2,0))

请务必使用CTRL+SHIFT+ENTER输入此公式,否则将不起作用。

【讨论】:

  • 这是一个很好的观点。我认为我可以使用一个非常简单的解决方法。明天在比赛前更新。
  • 有一点时间,@pnuts。我相信解决了这种可能性。已编辑答案中的新公式。
  • 我实际上认为我可以使用我已经拥有的相同公式,并将它与很多 else 和 If's 一起放入 4 次,我只是不知道如何使它工作。但是当你们建议使用数组时,我必须指出,仅在我的示例中,列是 B、C、D 和 E。在我的实际工作表中,它是 B、F、L 和 X。这使得数组不可能,不是不是吗?
  • 鉴于我的问题的前提,@toucansame 的公式工作得很好!非常感谢。
  • @kit99 我相信有一种方法可以跨非连续列配置数组,但在这种情况下,一堆嵌套的 if 可能会更好。很高兴今天在午餐时为您最后一次寻找。
【解决方案2】:

如果您可以使用 67 岁以上或 23 岁以下的年龄无关紧要:

=IF(OR(MAX(B2:E2)>67,MIN(B2:E2)<23),2,"")

【讨论】:

  • 对不起@cybernetic.nomad,但是当单元格不符合我的年龄条件但为空白、为“0”或包含文本时,您的建议返回“2”。我试图避免这种情况。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-23
  • 2017-04-02
  • 1970-01-01
  • 2019-09-21
  • 1970-01-01
相关资源
最近更新 更多