从包含数百个字符串的 Excel 单元格中提取包含单词的字符串

从包含数百个字符串的 Excel 单元格中提取包含单词的字符串

我有一个 Excel 工作簿,在 A 列中每个单元格包含以下所有 URL:网站(这意味着一个单元格中有数百个 URL)。

在单个单元格内的所有 URL 中,我只想提取包含单词接触

例如:

单元格 A1:http://examplesite.com/index.html; http://examplesite.com/login.php; http://examplesite.com/contact.html; http://examplesite.com/about.html

单元格 A2:http://hello.publish.com/alumni; http://hello.publish.com/contact-us; http://hello.publish.com/sitemap; http://hellopublish.com/projects

等等

我希望在 B 列上有这个输出

单元格 B1: http://examplesite.com/contact.html

单元格 B2: http://hello.publish.com/contact-us

答案1

尝试以下操作驅動已定义F涂油礼(UDF)

Public Function FindContact(inpt As String) As String
   ary = Split(inpt, "; ")
   For Each a In ary
      If InStr(1, a, "contact") > 0 Then
         FindContact = a
         Exit Function
      End If
   Next a
   FindContact = ""
End Function

在此处输入图片描述

用户定义函数 (UDF) 非常容易安装和使用:

  1. ALT-F11 打开 VBE 窗口
  2. ALT-I ALT-M 打开新模块
  3. 粘贴内容并关闭 VBE 窗口

如果您保存工作簿,UDF 将随之保存。如果您使用的是 2003 之后的 Excel 版本,则必须将文件保存为 .xlsm 而不是 .xlsx

要删除 UDF:

  1. 调出如上所示的 VBE 窗口
  2. 清除代码
  3. 关闭 VBE 窗口

要从 Excel 使用 UDF:

=查找联系人(A1)

要了解有关宏的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

有关 UDF 的详细信息,请参阅:

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

必须启用宏才能使其工作!

答案2

由于所有数据都是垂直向下的,因此命令就是命令VLookup。首先在 B 列中为每个 URL 设置一个标识符,从 1 开始一直到末尾。通过将角落处的黑点一直向下拖动直到遇到末尾 URL 来完成此操作。例如:VLookup("contact",$A1:$B13,2,TRUE)

相关内容