如果文本string包含今天的dateExcel

我的一个同事试图想出一个公式来看看一个文本string是否包含今天的date,所以它会是

=IF(A1=TODAY(),1,0) 

除了date是包含在一个文本string中,而不仅仅是在它自己的,如此

 =IF(A1="TODAY()",1,0) 

虽然这当然不起作用。 从本质上来说,你怎么能把通配符放在公式这边来使它工作?

使用SEARCHfunctionsearch一个string的子string。 或者,您可以使用FINDfunction,但是这是区分大小写的。

你要面对的问题是, TODAY()函数实际上是输出一个序列号,而不是一个格式化的date,所以你需要先使用TEXT函数在公式中设置这个数字(假设你知道date的格式在)。 然后可以使用ISNUMBER来检查SEARCH函数是否返回命中,如下所示:

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

这只有在你知道date的格式时才有效。

如果date可能是多种不同的格式,你可以把它们与OR语句结合起来,来检查不同的格式,例如:

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