Excel宏删除没有特殊字符的行,并从其他行中删除特殊字符

Excel宏删除没有特殊字符的行,并从其他行中删除特殊字符,excel,vba,Excel,Vba,我遇到了一个小问题,连互联网都帮不了我解决(或者我太笨了;) 所以问题是,我有几个巨大的Excel文件,用户登录名在A行,但数据完全损坏-应该只有登录名,而不是整个电子邮件,例如: login1 login2 login3@provider.com login4@provider.com login5 ... etc. 我的问题是,我被要求只为输入完整电子邮件地址的人创建登录名列表。所以问题是我可以手动完成,但这需要很多时间。。。Excel中是否有自动执行此操作的方法?例如:如果单元格

我遇到了一个小问题,连互联网都帮不了我解决(或者我太笨了;)

所以问题是,我有几个巨大的Excel文件,用户登录名在A行,但数据完全损坏-应该只有登录名,而不是整个电子邮件,例如:

login1

login2

login3@provider.com

login4@provider.com

login5
... etc.
我的问题是,我被要求只为输入完整电子邮件地址的人创建登录名列表。所以问题是我可以手动完成,但这需要很多时间。。。Excel中是否有自动执行此操作的方法?例如:如果单元格A1没有'@'-删除行/如果有'@'删除以'@'开头的所有内容


我将感谢任何帮助-谢谢

使用Excel过滤器过滤所有不带@的值,然后删除行。如果电子邮件地址在单元格A1中,则在单元格B1中使用此公式

=LEFT(A1;FIND("@";A1)-1)
上面的公式将返回前面的所有字符@

注意:在公式中,可以用逗号(,)替换分号(;)