IF公式将日期与当前日期和返回结果进行比较

时间:2012-09-07 03:20:33

标签: excel date if-statement compare

我正在寻找一个公式,允许我查看一个单元格,检查它是否大于或等于今天的日期,并返回措辞结果,如“过期”。如果是空白则返回另一个单词,或者什么也没有。

我尝试将结果从源单元格(O10)复制到另一个单元格(Y10)并使用if语句,但这似乎过于费力 - 必须有一种方法来读取信息来自源细胞?见下文。当单元格为空时,它也会返回过期:(

=IF(O10>Y10,"OVERDUE","NOT DUE")

3 个答案:

答案 0 :(得分:15)

您可以在要查看OverdueNot due结果的单元格中输入以下公式:

=IF(ISBLANK(O10),"",IF(O10<TODAY(),"Overdue","Not due"))

此公式首先测试源单元格是否为空白。如果是,则结果单元格将填充空字符串。如果源不是空白,则公式将测试源单元格中的日期是否在当前日期之前。如果是,则将值设置为Overdue,否则将其设置为Not due

答案 1 :(得分:0)

我认为这将涵盖O10中的所有可能情况:

=IF(ISBLANK(O10),"",IF(O10<TODAY(),IF(TODAY()-O10<>1,CONCATENATE("Due in ",TEXT(TODAY()-O10,"d")," days"),CONCATENATE("Due in ",TEXT(TODAY()-O10,"d")," day")),IF(O10=TODAY(),"Due Today","Overdue")))

对于今天之前的日期,它将告诉您该项目应归还多少天。如果O10 =今天,那么它将显示“今天到期”。今天过去的所有东西都将过期。最后,如果为空白,则该单元格也将显示为空白。让我知道您的想法!

答案 2 :(得分:0)

布雷克提供的公式似乎不适用于我。对于过去的日期,它会在xx天后到期,对于将来的日期,它会过期。此外,它只会返回逾期15天,而实际上可能是30、60 90+。

我创建了此文件,它似乎可以正常工作,并提供了“ 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")))