IF公式比较日期与当前日期并返回结果

9
我正在寻找一种公式,可以查看单元格并检查它是否大于或等于今天的日期,并返回一个词语结果,例如“已过期”。如果它是空的,则返回另一个单词或没有内容。
我尝试将源单元格(O10)的结果复制到另一个单元格(Y10),并使用if语句,但这似乎太费力了 - 必须有一种读取源单元格信息的方法吧?请参见下面。它还会在单元格为空时返回“已过期”:(
=IF(O10>Y10,"OVERDUE","NOT DUE")

这不是离题,参见https://meta.stackoverflow.com/q/261875/4284627。 - Donald Duck
3个回答

18
您可以在想要看到“过期”或“未过期”结果的单元格中输入以下公式:
=IF(ISBLANK(O10),"",IF(O10<TODAY(),"Overdue","Not due"))

这个公式首先检测源单元格是否为空。 如果是,则结果单元格将填充空字符串。 如果源不为空,则该公式将检测源单元格中的日期是否在当前日期之前。 如果是,则设置值为过期,否则设置为未到期


1
很好。只是为了好玩,这将添加一个提示,让您知道O10是否实际上是文本而不是可能是日期的数字,或者该值是否无效。=IF(ISERROR(O10),"无效值",IF(ISTEXT(O10),"不是日期",IF(ISBLANK(O10),"",IF(O10<TODAY(),"过期","未到期")))) - Daniel

0

我认为这将涵盖O10中可能出现的任何情况:

=IF(ISBLANK(O10),"",IF(O10<TODAY(),IF(TODAY()-O10<>1,CONCATENATE("还有",TEXT(TODAY()-O10,"d"),"天到期"),CONCATENATE("今天到期")),IF(O10=TODAY(),"今天到期","已过期")))

对于早于今天的日期,它将告诉您该项目到期的天数。如果O10 = 今天,则会显示“今天到期”。超过今天的日期将显示“已过期”。最后,如果为空,单元格也将为空。让我知道你的想法!


0

Blake提供的公式似乎对我不起作用。对于过去的日期,它返回xx天到期,对于未来的日期,它返回逾期。此外,当实际上可能是30、60、90+天逾期时,它只会返回15天逾期。

我创建了这个公式,它似乎有效,并提供“xx天到期”、“逾期xx天”和“今天到期”。

=IF(ISBLANK(O10),"",IF(DAYS(TODAY(),O10)<0,CONCATENATE("Due in ",-DAYS(TODAY(),O10)," Days"),IF(DAYS(TODAY(),O10)>0,CONCATENATE("Overdue ",DAYS(TODAY(),O10)," Days"),"Due Today")))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接