Excel中针对ssn,名字,姓氏,电子邮件地址的数据验证不起作用

时间:2019-02-12 23:36:18

标签: regex excel-formula ms-office

我正在尝试在Excel的数据验证中构建正则表达式。但是,它不起作用。

请您解释一下如何将数据验证放入Excel

我希望使用字符,quote('),空格和点号来验证姓氏数据。

=ISNUMBER(MATCH("^[a-zA-Z\s,.']*$",F:F,0))

我使用的是上述公式,同样,它不起作用

对于SSN,我正在使用以下公式,但它不起作用

=AND(ISNUMBER(MATCH("/^\d{3}-\d{2}-\d{4}$/",A2,0)),LEFT(A2,1)>=0)

请帮助我从数据标签或VBA脚本构建数据验证以进行数据验证。

2 个答案:

答案 0 :(得分:1)

很遗憾,Match Function无法支持正则表达式。它只能匹配一个恒定值。

我建议您看看This very detailed post,它很好地解释了如何在Excel中使用正则表达式。

除此之外,您的正则表达式似乎处于工作状态-如果您进行了此设置,则它应立即运行。祝你好运!

答案 1 :(得分:1)

Excel中的MATCH函数不用于正则表达式匹配。 但是您在这里不需要它,它看起来像。

要只允许字母和,.',可以使用如下公式:

=ISNUMBER(SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)," ,.'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")))

要验证SSN,请尝试使用指南here

中的公式
=AND(LEFT(F1,1)>="0",LEN(F1)<10,ISNUMBER(F1))

更多指针: