【发布时间】:2015-03-22 07:10:27
【问题描述】:
我想从整个电子邮件地址中提取域名,如下图所示。
你知道我应该如何使用 VBA 来做到这一点吗?
【问题讨论】:
-
让问题更清晰
标签: excel vba excel-formula text-extraction
我想从整个电子邮件地址中提取域名,如下图所示。
你知道我应该如何使用 VBA 来做到这一点吗?
【问题讨论】:
标签: excel vba excel-formula text-extraction
您不需要为此使用 VBA,但如果您想使用更高级的功能(例如正则表达式),则可以使用。您没有提供任何要求,所以我将假设a@b.c 的简单情况。如果格式有子域,例如a@b.c.d,它将返回子域而不是域。
您可以简单地在单元格C4 中使用此公式并根据需要向下拖动。
=LEFT(RIGHT(B4,LEN(B4)-FIND("@",B4)),FIND(".",RIGHT(B4,LEN(B4)-FIND("@",B4)))-1)
如果需要 VBA 解决方案,您可以在 VBA 中将其用作单元格公式。
【讨论】:
=MID(B4;SEARCH("@";B4;1)+1;SEARCH(".";B4;1)-SEARCH("@";B4;1)-1)
对于 VBA
Name = Mid$(EmailAddress, InStrRev(EmailAddress, "@") + 1, _
InStrRev(EmailAddress, ".") - _
InStrRev(EmailAddress, "@") - 1)
【讨论】:
如果您只想要电子邮件地址中的域服务器名称,请尝试:
=IF(ISERROR(FIND("@",B4)),"",MID(B4,FIND("@",B4)+1,FIND(".",B4,FIND("@",B4))-FIND("@",B4)-1))
【讨论】: