使用 Excel 从电子邮件地址中提取顶级域名

使用 Excel 从电子邮件地址中提取顶级域名

我想从电子邮件地址中提取某些类型的域名,如下所示:

[电子邮件保护]                  考克斯网
[电子邮件保护]               考克斯
[电子邮件保护]                      考克斯网站
[电子邮件保护]           加州州立大学北领地分校
[电子邮件保护]             加州州立大学北领地分校

我如何使用 Excel 执行此操作?我在网上看到的所有答案都没有考虑到某些域名有多个级别这一事实。我不想要出现在右侧第二个句点之前的名称。有些电子邮件地址在 @ 符号和 TLD 之间只有一个句点,而其他电子邮件地址之间可能有多个句点。

〜道格

答案1

这可以通过公式轻松完成。

为了避免重复计算,我建议设置一个辅助列来提取符号后的文本@,该文本将在公式中被多次引用。

如果电子邮件地址在 A1 中,请将此辅助公式放入单元格 B1 中:

=MID(A1,FIND("@",A1)+1,99)

下一步是计算.B1 中的字符数。具有子域的域将有 2 个字符,因此仅当计数大于 1 时,才需要截断第一个字符之前的所有内容(包括第一个.字符)。

=IF(LEN(B1)-LEN(SUBSTITUTE(B1,".",""))>1,MID(B1,FIND(".",B1)+1,99),B1)

屏幕截图显示了此公式组合的实际效果。当然,您可以用 B1 中的公式替换 B1 中提到的每个内容,但这样维护起来会更困难,计算时间也会更长(不过对于几百个电子邮件地址来说这并不重要)。

在此处输入图片描述

相关内容