我正在尝试使用MATCH
函数搜索包含格式为00:00的时间的列中的单元格。我尝试过与MATCH("??:??",A:A)
和MATCH("?*:?*",A:A)
类似的东西但没有运气。如何形成2位数的正则表达式,然后是冒号,然后是2位?
答案 0 :(得分:0)
通常,excel中显示的内容不是实际值。时间和日期就是这样的时间。通常,如果您在excel 3:55
中输入一个时间,它会自动将其转换为excel的时间格式,即十进制数:0.163194444444444
,但它会自动将其格式化为“mm:ss”,就像您输入的一样它。
所以...当你尝试=MATCH()
使用通配符时,你不会找到命中,因为单元格中的值实际上是十进制数。
相反,您必须将要搜索的单元格的值转换为文本格式。您可以使用=TEXT()
公式执行此操作。假设您的数据以A1开头,您可以输入B1
:
=Text(A1, "mm:ss")
现在,该公式的返回值仍然看起来像mm:ss
格式,但它现在是文本。基础值实际上是3:55
。没有好笑的事。现在,您可以将您的通配符搜索"*:*"
从此列开始:
=Match("*:*", B1:B10, 0)
如果你想在一个公式中做到这一点,你可以使用数组公式(或CSE):
=Match("*:*", Text(A1:A10,"mm:ss"),0)
输入公式时使用Ctrl + Shift + Enter(而不是Enter)。