我有一大堆网址,我需要根据各种因素进行细分。一个因素是它是否适用于美国以外的国家。我已经编写了我正在工作簿中搜索的所有扩展的列表(即.az,.mx,.nl等)。 由于网址的多样性,简单提取TLD并不适用于所有网站。例如:
b2 http://www.domainname.in
b3 http://www.domainname.co.in
b4 http://www.domainname.in/un.htm
b5 https://www.domainname.in/wp.content/_input_3_.txt I
我正在使用RIGHT(b2,LEN(b2)-FIND("*",SUBSTITUTE(b2,".","*",LEN(b2)-LEN(SUBSTITUTE(b2,".",""))))))
来提取b2示例中的TLD。但是,它对那些有其他结局的人不起作用。我正在考虑在示例b4中搜索第三个“/”,但是更长的网址(比如b5)会阻止这种情况。
有没有办法确定是否存在国家/地区扩展?此外,可以让其旁边的列列出国家/地区扩展名(如果存在)。
我目前没有Macros或VBA的工作知识,
答案 0 :(得分:0)
好的,这会很疯狂。所以我们知道国家代码附加到域名,通常是最后两个字母。我要做的第一件事就是将域名分开。公式看起来像这样:
(我将所有网址放在A栏中,因此您必须修复列引用)
=TRIM(MID(SUBSTITUTE(SUBSTITUTE($A1,"//","/"),"/",REPT(" ",999)),COLUMNS($A:B)*999-998,999))
这样做会将双//
替换为一个/
,然后将其用作分隔符,并获取第二列即域名。
接下来,我们需要找到您已经完成的域名的国家/地区代码,但我会使用略有不同的公式。如果您自己只有A列中的域名,则可以像这样提取它。
=TRIM(RIGHT(SUBSTITUTE($A1,".",REPT(" ",LEN($A1))),LEN($A1)))
现在我们有了这两个公式,我们可以用第一个公式替换第二个公式的$A1
引用,这样我们就不会使用一堆单元格来提取代码。组合公式如下所示:
=TRIM(RIGHT(SUBSTITUTE(TRIM(MID(SUBSTITUTE(SUBSTITUTE($A1,"//","/"),"/",REPT(" ",999)),COLUMNS($A:B)*999-998,999)),".",REPT(" ",LEN(TRIM(MID(SUBSTITUTE(SUBSTITUTE($A1,"//","/"),"/",REPT(" ",999)),COLUMNS($A:B)*999-998,999))))),LEN(TRIM(MID(SUBSTITUTE(SUBSTITUTE($A1,"//","/"),"/",REPT(" ",999)),COLUMNS($A:B)*999-998,999)))))
希望有所帮助