Extrahieren Sie eine Zeichenfolge, die ein Wort enthält, aus einer Excel-Zelle mit Hunderten von Zeichenfolgen

Extrahieren Sie eine Zeichenfolge, die ein Wort enthält, aus einer Excel-Zelle mit Hunderten von Zeichenfolgen

Ich habe eine Excel-Arbeitsmappe, in Spalte A enthält jede Zelle alle URLs voneine Seite(das bedeutet Hunderte von URLs in einer Zelle).

Unter allen URLs in einer einzelnen Zelle möchte ich nur die URL extrahieren, die das Wort enthältKontakt

Zum Beispiel:

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

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

Und so weiter

Ich möchte diese Ausgabe in Spalte B haben

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

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

Antwort1

Versuche FolgendesUserDdefiniertFSalbung(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

Bildbeschreibung hier eingeben

Benutzerdefinierte Funktionen (UDFs) sind sehr einfach zu installieren und zu verwenden:

  1. ALT-F11 öffnet das VBE-Fenster
  2. ALT-I ALT-M öffnet ein neues Modul
  3. Füge das Material ein und schließe das VBE-Fenster

Wenn Sie die Arbeitsmappe speichern, wird die UDF mit gespeichert. Wenn Sie eine Version von Excel verwenden, die älter als 2003 ist, müssen Sie die Datei als .xlsm und nicht als .xlsx speichern.

So entfernen Sie die UDF:

  1. Öffnen Sie das VBE-Fenster wie oben
  2. Löschen Sie den Code
  3. Schließen Sie das VBE-Fenster

So verwenden Sie die UDF aus Excel:

=KontaktFinden(A1)

Weitere Informationen zu Makros im Allgemeinen finden Sie unter:

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

Und

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

Einzelheiten zu UDFs finden Sie unter:

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

Damit dies funktioniert, müssen Makros aktiviert sein!

Antwort2

Da alle Ihre Daten vertikal nach unten verlaufen, ist der Befehl für Sie der VLookupBefehl. Richten Sie zunächst in der Spalte B eine Kennung für jede URL ein, beginnend bei 1 und weiter bis zum Ende. Ziehen Sie dazu den schwarzen Punkt an der Ecke ganz nach unten, bis die End-URL erreicht ist. Beispiel: VLookup("contact",$A1:$B13,2,TRUE).

verwandte Informationen