【问题标题】:REGEXMATCH and MATCH don't work when a cell contains a number当单元格包含数字时,REGEXMATCH 和 MATCH 不起作用
【发布时间】:2018-09-03 07:56:24
【问题描述】:

我正在尝试使用公式在我的 google 电子表格文档中查找一行,但是我遇到了一个奇怪的问题。

当单元格包含数字(没有任何其他字符)时,我无法找到值。

考虑以下情况

我有两个值

A1 - 32323232323
A2 - 323-23232-323

当我使用以下公式时

=FILTER(A:E,REGEXMATCH(B:B,"323-23232-323"))

它工作正常,它成功找到 A2 值,但是当我尝试使用以下公式时

=FILTER(A:E,REGEXMATCH(B:B,"32323232323"))

它不匹配任何行,我也尝试了以下公式

ADDRESS(MATCH("32323232323",B:B,0),1)

它也不起作用,它只有在我删除这样的引号时才起作用

ADDRESS(MATCH(32323232323,B:B,0),1)

但这不适用于REGEXMATCH

有什么方法可以使用正则表达式匹配数字(精确数字,没有通配符)?

谢谢

【问题讨论】:

    标签: regex google-sheets spreadsheet


    【解决方案1】:

    =FILTER(A:A,REGEXMATCH(REGEXREPLACE(TO_TEXT(A:A),"-",""), "32323232323"))

    • 获取 323-23232-323 和 32323232323。

    =FILTER(A:E,REGEXMATCH(TO_TEXT(B:B),"32323232323"))

    • 获取号码 32323232323。

    注意事项:

    • 转换to_text 是这里的关键。
    • 将列更改为您的列。

    【讨论】:

    • 感谢您的回答,请将您的答案改为=FILTER(A:E,REGEXMATCH(TO_TEXT(B:B),"32323232323")),这正是我正在寻找的公式
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-15
    • 1970-01-01
    • 1970-01-01
    • 2020-02-05
    • 2020-05-04
    • 2019-03-06
    • 2013-09-08
    相关资源
    最近更新 更多