Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 用于检查单元格内容是否与格式(regex)匹配的公式?_Excel_Regex_Excel Formula - Fatal编程技术网

Excel 用于检查单元格内容是否与格式(regex)匹配的公式?

Excel 用于检查单元格内容是否与格式(regex)匹配的公式?,excel,regex,excel-formula,Excel,Regex,Excel Formula,我必须检查单元格的内容是否与特定格式匹配 如果是这样,那么我必须在结果列中输入是否则否 格式如下:REFXXXX(,REFXXXX,…) 括号中的内容是可选的,X应该是一个数字序列(最少8个,最多12个) 数据示例 Reference | Result REF12324567 | Yes REF1 | No

我必须检查单元格的内容是否与特定格式匹配

如果是这样,那么我必须在
结果
列中输入
否则

格式如下:
REFXXXX(,REFXXXX,…)

括号中的内容是可选的,
X
应该是一个数字序列(最少8个,最多12个)

数据示例

Reference                              | Result
REF12324567                            | Yes
REF1                                   | No
                                       | No
Some text                              | No
REF1234567,REF789654123,REF741258963   | Yes
对于正则表达式,它可以是
REF(\d{8,12})((,REF(\d{8,12}))*)

但是我不知道是否可以使用正则表达式作为Excel公式

你能告诉我怎么做吗


谢谢,尊敬的

工作表功能没有直接的等价物。但是,您可以使用
FILTERXML()
作为某种替换功能,将字符串“拆分”为不同的元素,并使用一些xpath来验证每个元素

B1
中的公式:

=IF(AND(ISERROR(FILTERXML("<t><s>"&SUBSTITUTE(A1,",","</s><s>")&"</s></t>","//s[not(starts-with(., 'REF') and string-length() >=11 and string-length() <=15 and translate(., 'REF', '')*0=0)]")),A1<>""),"Yes","No")
=IF(AND(ISERROR(FILTERXML(“&SUBSTITUTE(A1,,,,,,”)&)”/s[not(以(,,'REF')开头)和string-length()>=11和string-length()