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"))