【问题标题】:Hi i am struggling with a formula嗨,我正在为一个公式而苦苦挣扎
【发布时间】:2020-08-04 08:53:01
【问题描述】:

我有一个 Excel 电子表格,在“L”列中有以下公式:

=IF($A4="","",IF($J4>=$K4,"",IF($J4="","",if($M4<>"Released","",$J4+90)))

我正在尝试使用距“J”列 90 天的日期填充“L”列,但前提是 M 列 = 已发布或 K 列在任何其他情况下大于 J 列“L”必须保持空白

如果我删除了 IF($J4>=$K4,"", 元素并且只有

=IF($A4=""," ",IF($M4<>"Released","",IF($J4="","",$J4+90)))

或者只用这个元素

=IF($A4="","",IF($J4>=$K4,"",IF($J4="","",$J4+90)))

但是当我尝试将 IF($J4>=$K4,""** and **IF($M4<>"Released","" 添加在一起时,我无法让它工作

感谢任何建议

【问题讨论】:

  • 如果您嵌套这样的 IF 语句,您的结果将是 AND 而不是 OR,即如果 M = Released AND K > J,您当前的公式将填充 L。这是您遇到的问题吗?
  • 因为单元格 M 不等于已发布(在这种情况下 = 已终止),尽管单元格 K 大于单元格 J,但未填充 90 天的跟进。单元格“L4”保持空白(例如单元格A 已填充,单元格 J = 31/03/2020 单元格 K = 12/4/2020 和单元格 M =“终止”)这应该意味着单元格 L 应该 = 29/6/2020

标签: excel date if-statement formula


【解决方案1】:

你的陈述和公式不一致。

=IF($A4="","",IF(OR($J4>=$K4,$M4<>"Released"),$J4+90,""))

编辑:

基于 OP 的输入

=IF($A4="","",IF($M4="Released",$J4+90,IF(AND($M4="Terminated",$K4>$J4),$J4+90,"")))

【讨论】:

  • 这适用于第 4 行,其中单元格 K 中的日期大于 J,谢谢,但是,当 J 等于 K 或更小时,即使我将 >= 更改为,单元格 L 仍然会被填充只是>如果列 M = Terminated 并且 K 中的日期等于或小于 J,我不希望它填充
  • @RachelTaylor,您必须提供明确的声明。直到第一部分($A4),公式似乎很清楚。现在澄清平衡部分。在我们去检查 M 之前,我们需要检查 (J Vs K) 吗?还是两种情况?
  • 如果 = "Released" 则应首先检查 M,然后应填写后续日期。仅当 M is = "Terminated" If = "Terminated" 且 K is > J 时才检查 J Vs K。
  • @RachelTaylor 请检查根据您的描述编辑的答案。
【解决方案2】:

我用你的公式测试没问题,

=IF($A4="","",IF($J4>=$K4,"",IF($J4="","",if($M4<>"Released","",$J4+90))))

你的公式最后少了一个“)”, 不过,我相信 Excel 应该会提示您更正公式。

Excel 会自动为您纠正错误。

【讨论】:

  • 不幸的是,尽管 K4 大于 J4 并且 M4 注释等于“已发布”,但它并没有填充单元格“L4”和 90 天的跟进日期(例如,单元格 A 已填充,单元格 J = 31/ 03/2020 单元格 K = 12/4/2020 和单元格 M = “终止”)
  • 以您的示例为例,(例如,单元格 A 已填充,单元格 J = 31/03/2020 单元格 K = 12/4/2020 和单元格 M = “终止”)``` if($M4 "Released","",$J4+90) ``` 就是你在公式中设置的条件,当M4不等于"Released"时得到""。
  • 如果单元格 M = Terminated 并且 K 中的日期等于或小于 J 任何其他即如果日期大于或单元格 M = 已发布,则单元格 L 应填写 90 天的跟进日期
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-22
  • 1970-01-01
相关资源
最近更新 更多