excel如果一个单元格包含一个不到6个月的date,那么说的是真的,但如果它包含文本,打印文本

您好,我有一个Excel中的列,包含date列表,例如说

02/09/13 

然后在另一列中,我有一个公式来检测date是否比今天早6个月,如果它在这个列中显示为真

 02/09/13 True 

我的公式到目前为止是

 =DATEDIF(E17,TODAY(),"m")>=6 

我的问题是如果包含date的列包含某些文本,例如

 02/09/13 true No date present 

我怎么会得到“真/假”列来检测这个文本,并打印它而不是真或假,我已经尝试了许多不同的公式与ORs / Ands嵌套IFs和多个IFs ..EG

 =IF(E17,TODAY(),"m")>=6, IF(E17 = "NO DATE PRESENT", "NO DATE PRESENT") =DATEDIF(E17,TODAY(),"m")>=6, OR(E17 = "NO DATE PRESENT", "NO DATE PRESENT") 

如果完全可能的话,我不知道如何做这个工作

也许这个:

 =IF(E17="NO DATE PRESENT","NO DATE PRESENT",DATEDIF(E17,TODAY(),"m")>=6) 

或一般情况下:

 =IFERROR(DATEDIF(E17,TODAY(),"m")>=6, E17) 

date是数字。 所以你可以通过一个函数来检查它是否是一个数字,如果没有,就打印出来。

另外一些数字可能不合理,所以你可以检查其范围的数字,如果它是不合理的,也打印它。

你可以testing一下如果datedif如果返回一个错误(如果单元格包含文本而不是date),并从那里采取适当的行动。

例如:

 =IF(ISERROR(DATEDIF(E17,TODAY(), "m")),E17,DATEDIF(E17,TODAY(), "m"))