我的一位同事正试图想出一个公式来查看文本字符串是否包含今天的日期,所以它会像
一样=IF(A1=TODAY(),1,0)
除了日期包含在文本字符串中,而不仅仅包含在文本字符串中,所以
=IF(A1="TODAY()",1,0)
虽然当然不起作用。从本质上讲,你如何将通配符置于类似公式的一边以使其有效?
答案 0 :(得分:1)
使用SEARCH
函数在字符串中搜索子字符串。或者,您可以使用FIND
函数,但这是区分大小写的。
您将面临的问题是TODAY()
函数实际上输出的是序列号,而不是格式化日期,因此您需要先使用{{3}在公式中格式化此数字函数(如果您知道日期的格式)。然后,您可以使用TEXT
检查SEARCH
函数是否返回匹配,如下所示:
=IF(ISNUMBER(SEARCH(TEXT(TODAY(),"dd/mm/yyyy"), A1)),1,0)
只有在您知道日期格式的情况下才能使用。
如果日期可以采用多种不同格式,您可以将这些格式与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)