我有一个Excel文档,其中包含一个包含文本单元格的列(通常是小段落)。我想找到一种方法(最好是一个公式)来逐行提取任何url的那些单元格并将它们添加到另一列。
我一直在搞乱MID和FIND,并且很容易通过搜索“http”来获取这些URL的开头,但我无法弄清楚如何找到网址的长度所以我可以抓住它。
真的很期待任何人都可以提供任何帮助。这让我疯了!
答案 0 :(得分:3)
要考虑字符串末尾发生的URL,您需要添加一些错误处理。
这适用于中间字符串和字符串结尾:
=MID(C11,FIND("http",C11),IFERROR(FIND(" ",C11,FIND("http",C11))-1,LEN(C11))-FIND("http",C11)+1)
答案 1 :(得分:1)
好的,我想我已经开始工作了。看看:
=MID(C11,FIND("http",C11),(FIND(" ",C11,FIND("http",C11))-FIND("http",C11))-4)
答案 2 :(得分:0)
您最可能的选择是确保您可以依赖于以相同方式形成的网址。比如,始终以“http”开头,并始终以“/”或“.com”结尾。然后你可以做公式来找到索引开始,索引结束,并抓住MID之间的所有内容。
它应该是这样的:
=FIND("http",D3)
返回第一部分的位置。
=FIND(".com",D3)
返回结尾的位置
=MID(D3,D9,D10-D9+4)
返回开头到结尾提供的字符串+4(允许这4个字符)
答案 3 :(得分:0)
一旦你确定了URL的起始位置,就会看到之后的第一个空格,应该是URL的结尾。