Extraia uma string contendo uma palavra de uma célula do Excel com centenas de strings

Extraia uma string contendo uma palavra de uma célula do Excel com centenas de strings

Eu tenho uma pasta de trabalho do Excel, na coluna A cada célula contém todos os URLs deum site(isso significa centenas de URLs em uma célula).

Entre todos os URLs dentro de uma única célula, quero extrair apenas o URL que contém a palavracontato

Por exemplo:

Célula A1:http://examplesite.com/index.html; http://examplesite.com/login.php; http://examplesite.com/contact.html; http://examplesite.com/about.html

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

E assim por diante

Eu gostaria de ter essa saída na coluna B

Célula B1: http://examplesite.com/contact.html

Célula B2: http://hello.publish.com/contact-us

Responder1

Tente o seguintevocêSerDrefinadoFunção(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

insira a descrição da imagem aqui

Funções definidas pelo usuário (UDFs) são muito fáceis de instalar e usar:

  1. ALT-F11 abre a janela VBE
  2. ALT-I ALT-M abre um novo módulo
  3. cole o material e feche a janela do VBE

Se você salvar a pasta de trabalho, a UDF será salva com ela. Se você estiver usando uma versão do Excel posterior a 2003, deverá salvar o arquivo como .xlsm em vez de .xlsx

Para remover a UDF:

  1. abra a janela VBE como acima
  2. limpar o código
  3. feche a janela do VBE

Para usar a UDF do Excel:

=EncontrarContato(A1)

Para saber mais sobre macros em geral, consulte:

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

e

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

e para obter detalhes sobre UDFs, consulte:

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

As macros devem estar habilitadas para que isso funcione!

Responder2

Como todos os seus dados estão descendo verticalmente, o comando para você é o VLookupcomando. Primeiro, na coluna B, configure um identificador para cada URL começando em 1 e indo até o final. Faça isso arrastando o ponto preto no canto totalmente para baixo até que o URL final seja encontrado. exemplo: VLookup("contact",$A1:$B13,2,TRUE).

informação relacionada