如何使用Microsoft Excel公式验证工作表列中的批量电子邮件地址

如何使用Microsoft Excel公式验证工作表列中的批量电子邮件地址,excel,validation,excel-formula,excel-2016,email-validation,Excel,Validation,Excel Formula,Excel 2016,Email Validation,我想在Microsoft Excel(.xlsx)中创建一个自定义验证公式,以批量检查电子邮件地址的正确格式。我有超过50000封电子邮件,我想标记错误的电子邮件地址。例如,不带.com的电子邮件、不带“@”字符的电子邮件、带多个“@”字符的电子邮件、带前导空格的电子邮件以及带尾随空格的电子邮件 在网上搜索了几个小时后,我发现了一些有用的公式,但它们不能很好地处理现有数据——它似乎最适合新的电子邮件条目 =ISNUMBER(MATCH("*@*.?*",A1,0)) =AND(FIND("@",

我想在Microsoft Excel(.xlsx)中创建一个自定义验证公式,以批量检查电子邮件地址的正确格式。我有超过50000封电子邮件,我想标记错误的电子邮件地址。例如,不带.com的电子邮件、不带“@”字符的电子邮件、带多个“@”字符的电子邮件、带前导空格的电子邮件以及带尾随空格的电子邮件

在网上搜索了几个小时后,我发现了一些有用的公式,但它们不能很好地处理现有数据——它似乎最适合新的电子邮件条目

=ISNUMBER(MATCH("*@*.?*",A1,0))
=AND(FIND("@",A1),FIND(".",A1),ISERROR(FIND(" ",A1)))
我还从SO的另一个线程中找到了这个公式:它检查逗号

=AND(ISNUMBER(FIND("@",A2)),ISNUMBER(FIND(".",A2)),ISERROR(OR(FIND(" ",A2),FIND(",",A2))))

如有任何帮助或建议,将不胜感激。非常感谢

我尝试了所有这些公式,它们在模拟数据集上的效果与预期一样。您是否可以指定它们如何不处理现有数据,或者您对它们有哪些其他问题?当您编写“例如,没有…”的电子邮件时,这意味着该列表并不全面。因此,您的第一项任务是制定一份包含各方的声明。然后,只需编写一个包含所有需求的公式。而且,除非您有一组有限的需求,否则这不是一项微不足道的任务。验证某人提供给您的电子邮件地址的唯一真正方法是验证您是否可以向其发送电子邮件。非常感谢您的回复。我必须复制并粘贴公式到一个新的列中,它返回true或false。我对此表示怀疑,因为我只有大约100封来自50000多封电子邮件的虚假回复。它们是手工输入的,所以我期待更多的虚假记录。此外,=AND(FIND(“@”,A1)、FIND(“.”,A1)、ISERROR(FIND(“,A1)))在数据验证工具“公式当前的计算结果为错误。是否继续?”)中给出以下错误。有什么建议吗?谢谢大家的关注。你可以忽略这条消息。这只意味着您要输入验证的单元格没有通过。(因为公式正在返回<代码>值>代码>而不是<代码> false <代码>。但是,您的DV无论如何都应该工作。但是,DV不会标记已经输入无效的电子邮件。它被设计成当您尝试进入单元格中的某个东西时触发。您可能需要考虑该条件格式。如果您有很多F,很有可能。如果您的电子邮件地址无效,您的公式未充分筛选。