Extraiga una cadena que contenga una palabra de una celda de Excel con cientos de cadenas

Extraiga una cadena que contenga una palabra de una celda de Excel con cientos de cadenas

Tengo un libro de Excel, en la columna A cada celda contiene todas las URL deun sitio(esto significa cientos de URL en una celda).

Entre todas las URL dentro de una sola celda, quiero extraer solo la URL que contiene la palabracontacto

Por ejemplo:

Celda A1:http://examplesite.com/index.html; http://examplesite.com/login.php; http://examplesite.com/contact.html; http://examplesite.com/about.html

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

Etcétera

Me gustaría tener este resultado en la columna B.

Celda B1: http://examplesite.com/contact.html

Celda B2: http://hello.publish.com/contact-us

Respuesta1

Prueba lo siguienteUd.serDrefinadoFunción(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

ingrese la descripción de la imagen aquí

Las funciones definidas por el usuario (UDF) son muy fáciles de instalar y utilizar:

  1. ALT-F11 abre la ventana VBE
  2. ALT-I ALT-M abre un módulo nuevo
  3. pegue las cosas y cierre la ventana de VBE

Si guarda el libro de trabajo, la UDF se guardará con él. Si está utilizando una versión de Excel posterior a 2003, debe guardar el archivo como .xlsm en lugar de .xlsx.

Para eliminar la UDF:

  1. abrir la ventana VBE como arriba
  2. borrar el código
  3. cerrar la ventana VBE

Para utilizar la UDF desde Excel:

=BuscarContacto(A1)

Para obtener más información sobre las macros en general, consulte:

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

y

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

y para obtener detalles sobre las UDF, consulte:

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

¡Las macros deben estar habilitadas para que esto funcione!

Respuesta2

Dado que todos sus datos descienden verticalmente, el comando para usted es el VLookupcomando. Primero, en la columna B, configure un identificador para cada una de las URL comenzando desde 1 y continuando hasta el final. Haga esto arrastrando el punto negro en la esquina completamente hacia abajo hasta encontrar la URL final. ejemplo: VLookup("contact",$A1:$B13,2,TRUE).

información relacionada