需要帮助从URL中提取文本

时间:2012-04-12 22:19:48

标签: excel excel-2007

我有一个包含数百个网址的电子表格。每个URL都有一个搜索引擎友好名称,后跟一个数字ID,末尾有一个“/ 1”。这是一个例子:

http://www.somesite.com/directory/varying-file-names-Guide/431/1

在这种情况下,431是数字ID。我正在尝试将此数字ID提取到自己的列中,但我缺乏Excel知识肯定会阻碍我。我找到了一些示例,但我尝试自定义这些示例以满足我的需求会导致错误。在所有情况下,我需要提取的值始终位于URL中的“-Guides /”和“/ 1”之间。

任何帮助将不胜感激。

谢谢!

3 个答案:

答案 0 :(得分:1)

假设您在A1中的网址尝试在B1中使用此公式来提取该数字

=REPLACE(LEFT(A1,LEN(A1)-2),1,SEARCH("Guide/",A1)+5,"")

假定“指南”不是“指南” - 如果是“指南”那么5需要是6 .....,即

=REPLACE(LEFT(A1,LEN(A1)-2),1,SEARCH("Guides/",A1)+6,"")

...或者是一种不同的方法,它将从最后提取任何以第3个charcater结尾的数字

=LOOKUP(10^5,RIGHT(LEFT(RIGHT(A1,7),5),{1,2,3,4,5})+0)

最多可提取5位数

答案 1 :(得分:0)

无论数字ID前面的单词如何,此公式都应该有效。假设您的网址位于单元格A1中,

在单元格B1中:

=SUBSTITUTE(LEFT(A1, LEN(A1) - 2), "/","||", LEN(LEFT(A1, LEN(A1) - 2)) - LEN(SUBSTITUTE(LEFT(A1, LEN(A1) - 2), "/","")))

在单元格C1中:

=RIGHT(B1,LEN(B1)-FIND("||",B1)-1)

答案 2 :(得分:0)

感谢所有回答的人。我的一位同事也想出了一种不同的方法。

=MID(A6,FIND("uide/",A6,1)+5,LEN(A6)-FIND("tion/",A6,1)-6)

我以为我会把这包括在面对同一问题的其他人身上。有兴趣了解人们解决问题的各种方式。