【问题标题】:Nested IF statements in Excel using Dates使用日期在 Excel 中嵌套 IF 语句
【发布时间】:2017-12-21 07:36:58
【问题描述】:

我在 Stackoverflow 上进行了广泛搜索,但找不到我的问题。我显然遇到了嵌套 IF 语句的问题,但我找不到任何参考问题来复制我的情况。

这是我正在“尝试”做的事情。

"Received" Cell H3 = 12/10/2017
"Start Date" Cell I3 = 12/15/2017
"Finish Date" Cell K3 = 12/20/2017

“状态”单元格 J3 是我希望显示以下选项的位置。

如果日期存在于 H3(已接收)中,则显示“Bare”。如果 I3(开始日期)中显示的日期大于/晚于 H3(接收日期),则显示“处理中”。如果 K3(完成日期)中显示的日期大于/晚于 I3(开始日期,则 J3 应反映“已完成”。如果 H3(收到)中未显示任何内容,则在 J3 中显示任何内容。

这是我正在使用的字符串,它在所有方面都有效,除了当我添加“完成日期”时它不显示“已完成”。因为它有点工作,但不是一直都是我承认失败。如果我正在做任何运气的诊断,我需要一个错误来追踪大声笑

=IF(H3<>"",IF(I3>H3,"IN PROCESS",IF(K3>I3,"COMPLETED","BARE")))

任何帮助将不胜感激,我敢肯定,就我的眼睛看不到逗号而言,这可能是相当简单的事情......但如果我离我很远,我渴望学习!
提前致谢。
JH

【问题讨论】:

  • 只有在 I3&gt;H3 为 false 时才会命中 IF(K3&gt;I3,"COMPLETED","BARE")。我看你的数据,I3大于H3。 12/15 是在 12/10 之后。所以我希望它显示“正在处理”,无论完成数据是什么。也许你只需要在你的第二个条件的真实情况下嵌套你的第三个条件,而不是错误的情况。

标签: excel nested


【解决方案1】:

Finished date 不总是 >= Start DateStart Date >= Received Date

如果是这样,那么也许只需计算有多少日期。如果有一个日期(已接收)状态为BARE,如果有两个则IN PROCESS,如果有3 个则为COMPLETED(没有日期则返回空白)

=CHOOSE(COUNT(H3,I3,K3)+1,"","BARE","IN PROCESS","COMPLETED")

【讨论】:

    【解决方案2】:

    试试这个

    =IF (H3 <> "", IF (K3 > I3, "COMPLETED", IF (I3>H3, "IN PROCESS", "BARE")))
    

    【讨论】:

    • 它不会让我对此表示赞同,因为我是新成员......但我稍微修改了您在此处提供的内容以获得以下内容。它工作得很好。 =IF(H3 "", IF(K3 > I3,"COMPLETED", IF(I3>H3, "IN PROCESS","BARE")),"")
    • 我认为即使分数很低,您也可以将答案标记为正确。如果你认为它不会帮助别人,也可以删除这个问题,做你喜欢的。我很乐意提供帮助:)
    【解决方案3】:

    您所描述的逻辑有点靠不住。我认为最好将你的陈述结构如下:

    1. 如果K3存在且K3 &gt; I3,则状态为COMPLETE
    2. 如果I3存在且I3 &gt; H3,则状态为IN PROGRESS
    3. 如果存在H3,则状态为RECEIVED
    4. 否则状态为BARE

    我相信这就是你所追求的。在那种情况下,这个算法满足这个逻辑:

    =IF(AND(K3<>"",K3>I3),"COMPLETED",IF(AND(I3<>"",I3>H3),"IN PROCESS",IF(H3<>"","RECEIVED","BARE")))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-31
      • 1970-01-01
      • 2021-01-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多