如何检查单元格是否包含少于6个月前的日期或是否包含文本?

时间:2014-03-26 16:00:19

标签: excel date excel-formula datediff

我在Excel中有一个包含日期列表的列,例如

02/09/13

然后在另一栏中我有一个公式来检测日期是否比今天早6个月,如果是,它应该显示" True"在本专栏中:

02/09/13            True
到目前为止我的公式是

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

我的问题是,包含日期的列是否包含特定文本,例如:

|   02/09/13         |   True    |

|   No date present  |           |

我如何获得" true / false"列检测此文本并打印而不是真或假?

我尝试了许多不同的公式,包括OR / AND,嵌套IF和多个IF等。

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

3 个答案:

答案 0 :(得分:3)

也许这个:

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

或一般情况:

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

答案 1 :(得分:1)

日期是数字。所以你可以通过一个函数检查它是否是一个数字,如果没有,那么打印它。

此外,某些数字可能不合理,因此您可以检查其范围的数量,如果它不可信也会打印出来。

答案 2 :(得分:1)

您可以测试datedif是否返回错误(如果单元格包含文本而不是日期),并从那里采取适当的操作。

例如:

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