Excel如果文本字符串包含今天的日期

Excel如果文本字符串包含今天的日期,excel,excel-formula,Excel,Excel Formula,我的一位同事正在尝试提出一个公式,以确定文本字符串是否包含今天的日期,因此它类似于 =IF(A1=TODAY(),1,0) 除了日期包含在文本字符串中,而不仅仅是日期本身,所以 =IF(A1="TODAY()",1,0) 当然,这是行不通的。从本质上讲,就是如何在这样的公式旁边放置通配符才能使其正常工作?使用函数在字符串中搜索子字符串。或者,您可以使用该函数,但它区分大小写 您将面临的问题是,该函数实际上输出的是一个序列号,而不是一个格式化的日期,因此您需要首先使用该函数在公式中格式化该数字

我的一位同事正在尝试提出一个公式,以确定文本字符串是否包含今天的日期,因此它类似于

=IF(A1=TODAY(),1,0)
除了日期包含在文本字符串中,而不仅仅是日期本身,所以

=IF(A1="TODAY()",1,0)
当然,这是行不通的。从本质上讲,就是如何在这样的公式旁边放置通配符才能使其正常工作?

使用函数在字符串中搜索子字符串。或者,您可以使用该函数,但它区分大小写

您将面临的问题是,该函数实际上输出的是一个序列号,而不是一个格式化的日期,因此您需要首先使用该函数在公式中格式化该数字,前提是您知道日期的格式。然后,您可以使用检查搜索函数是否返回命中,如下所示:

=IF(ISNUMBER(SEARCH(TEXT(TODAY(),"dd/mm/yyyy"), A1)),1,0)
=IF(OR(ISNUMBER(SEARCH(TEXT(TODAY(),"dd/mm/yyyy"), A1)),ISNUMBER(SEARCH(TEXT(TODAY(),"dd/mm/yy"), A1)),ISNUMBER(SEARCH(TEXT(TODAY(),"d/m/yy"), A1))),1,0)
只有知道日期的格式,这才有效

如果日期可以采用多种不同的格式,您可以将这些格式与OR语句组合在一起,以检查不同的格式,如下所示:

=IF(ISNUMBER(SEARCH(TEXT(TODAY(),"dd/mm/yyyy"), A1)),1,0)
=IF(OR(ISNUMBER(SEARCH(TEXT(TODAY(),"dd/mm/yyyy"), A1)),ISNUMBER(SEARCH(TEXT(TODAY(),"dd/mm/yy"), A1)),ISNUMBER(SEARCH(TEXT(TODAY(),"d/m/yy"), A1))),1,0)

您是在字符串连接中查找今天,还是在字符串中查找今天的日期,例如2017年7月5日?