【问题标题】:How to use IF with dates by month, excluding specific days如何按月使用带有日期的 IF,不包括特定日期
【发布时间】:2019-04-11 10:14:41
【问题描述】:

我正在尝试使用 excel 公式查看输入日期的月份是否为 <= 今天的月份,最多为 3(不考虑日期)。 输入 DAY 也必须是 NOT>= 今天的日期最多 10。 然后提供YESNO 输出。

我对 excel(和一般编码)相对较新,但我设法让它指定一个月是否为 <= 到今天的月份。

但是当谈到上面的额外规则时,我已经碰壁了。

也许对DAYMONTH 规则使用两个单独的IF 语句是最简单的,然后使用IF AND 将它们连接到输出单元格中。我只是不确定如何将限制器放在 <=>= 运算符上。

=IF(MONTH(A2)<=MONTH(A4),"YES","NO")
=IF(DAY(A2)>=DAY(A4),"YES","NO")
=IF(B8 AND B9 = "YES","YES","NO")

我想要实现的是这样的:

今天:11/04/2019

输入:2019 年 10 月 1 日

输出:是

(输入月份小于今天的月份3个月,输入的日期不等于或大于今天)

今天:11/04/2019

输入:20/01/2019

输出:否

(月份在 3 个月内BUT当天是&gt;=今天)

【问题讨论】:

  • 您应该寻找ANDOR 函数以及IF 语句,这正是您所需要的。
  • 必须是日历月还是可以用 91 天代替 3 个月?
  • @HarassedDad 是的,它必须是日历月。我敢肯定,我正在使用 MONTH(cell) 位。但我不知道如何限制特定的数字范围
  • 我没有得到白天的部分。如果日期是 2 个月前但比今天晚了 10 天,会发生什么?
  • @Damian 是的,我明白了,但我不知道如何使用 AND 或 OR 语句将结果限制为特定数量的日历月,例如:

标签: excel excel-formula


【解决方案1】:

我认为这应该可行:

=IF(AND(MONTH(C15)&gt;=MONTH(E2)-3;MONTH(C15)&lt;=MONTH(E2));IF(AND(DAY(C15)&gt;=DAY(E2);DAY(C15)&lt;=DAY(E2)+10);"YES";"NO");"NO")

至少在我的工作表上是这样。

背后的逻辑是:首先检查月份是否等于或大于今天的月份AND,如果它等于或小于今天的月份 - 3。如果不是这样,它就跳到拉斯"NO"。现在假设第一个检查返回YES然后再次检查日期是否等于或大于今天AND小于或等于今天+10。

编辑:由于您正在玩弄月份作为数字,当 3 个月意味着去年时,您将很难过。对此进行排序的唯一方法是使用日期而不是月份。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多