URLs kürzen

Bild

Betrifft: URLs kürzen
von: Emanuel
Geschrieben am: 29.10.2015 10:48:38

Hallo zusammen,
ich benötige eine wahrscheinlich sehr komplexe Formel bzw. weiß ich gar nicht, ob es in der Form möglich ist.
Ich habe eine Liste mit URLs, die ich so bearbeiten möchte, dass nur noch URLs nach diesem Schema auftauchen: beispiel.de
In der Liste sind leider eine Vielzahl von anderen Schreibweisen vorhanden, die es gilt, so umzuformen.
Folgende Schreibweisen treten auf:
beispiel.beispiel.de
beispiel.beispiel.beispiel.de
www.beispiel.de
beispiel.de
www4.beispiel.de
www.beispiel.de/ ( / am Ende sollen auch entfernt werden)
http://www.beispiel.de
https://www.beispiel.de
Gibt es eine Formel, die ich einfach auf die Liste anwenden kann und die mir jede der oben genannten Schreibweisen ändert bzw. wenn es schon richtig geschrieben ist beibehält?
Vielen Dank im Voraus für eure Antworten!
LG
Emanuel

Bild

Betrifft: AW: URLs kürzen
von: Rudi Maintaire
Geschrieben am: 29.10.2015 11:51:45
Hallo,
in Einzelsteps:

ABCD
1beispiel.beispiel.debeispiel|beispiel.debeispiel.debeispiel.de
2beispiel.beispiel.beispiel.debeispiel.beispiel|beispiel.debeispiel.debeispiel.de
3www.beispiel.dewww|beispiel.debeispiel.debeispiel.de
4beispiel.debeispiel.debeispiel.debeispiel.de
5www4.beispiel.dewww4|beispiel.debeispiel.debeispiel.de
6www.beispiel.de/www|beispiel.de/beispiel.de/beispiel.de

ZelleFormel
B1=WENNFEHLER(WECHSELN(A1;".";"|";LÄNGE(A1)-LÄNGE(WECHSELN(A1;".";""))-1);A1)
C1=WENNFEHLER(TEIL(B1;FINDEN("|";B1)+1;99);B1)
D1=WENN(RECHTS(C1;1)="/";LINKS(C1;LÄNGE(C1)-1);C1)

in einer Formel ;-)
=WENNFEHLER(WENN(RECHTS(TEIL(WECHSELN(A1;".";"|";LÄNGE(A1)-LÄNGE(WECHSELN(A1;".";""))-1);FINDEN("|"; WECHSELN(A1;".";"|";LÄNGE(A1)-LÄNGE(WECHSELN(A1;".";""))-1))+1;99);1)="/";LINKS(TEIL(WECHSELN(A1;"."; "|";LÄNGE(A1)-LÄNGE(WECHSELN(A1;".";""))-1);FINDEN("|";WECHSELN(A1;".";"|";LÄNGE(A1) -LÄNGE(WECHSELN(A1;".";""))-1))+1;99);LÄNGE(TEIL(WECHSELN(A1;".";"|";LÄNGE(A1)-LÄNGE(WECHSELN(A1;"."; ""))-1);FINDEN("|";WECHSELN(A1;".";"|";LÄNGE(A1)-LÄNGE(WECHSELN(A1;".";""))-1))+1;99))-1); TEIL(WECHSELN(A1;".";"|";LÄNGE(A1)-LÄNGE(WECHSELN(A1;".";""))-1);FINDEN("|";WECHSELN(A1;".";"|"; LÄNGE(A1)-LÄNGE(WECHSELN(A1;".";""))-1))+1;99));A1)
Gruß
Rudi

Bild

Betrifft: AW: URLs kürzen
von: Emanuel
Geschrieben am: 29.10.2015 12:07:46
Wow! Tausend Dank, Rudi! Klappt super. :)
LG
Emanuel

Bild

Betrifft: AW: URLs kürzen
von: Emanuel
Geschrieben am: 29.10.2015 12:19:42
Hi Rudi,
eine Ergänzung hätte ich noch. Bei beispiel.de/ soll ja der Slash wegfallen. Es soll aber auch alles, was eventuell nach dem Slash kommt, wegfallen (z. B. beispiel.de/beispiel).
Ist es möglich, das auch noch in dieser langen Formel unterzubringen?
Vielen Dank im Voraus!
LG
Emanuel

Bild

Betrifft: AW: URLs kürzen
von: Emanuel
Geschrieben am: 29.10.2015 12:23:11
Hi Rudi,
eine weitere Ergänzung wäre: http://beispiel.de sollte auch in beispiel.de umgewandelt werden.
Vielen Dank und liebe Grüße
Emanuel

Bild

Betrifft: AW: URLs kürzen
von: Rudi Maintaire
Geschrieben am: 29.10.2015 13:15:27
und dann möglicherweise auch noch
http://www.beispiel-test.beispiel-test.beispiel-test.com/was_weiß_ich/Unterverzeichnis/Blabla
;-)
Ich würde sagen: Nicht per Formel.
Gruß
Rudi

Bild

Betrifft: mit VBA-Schnipsel
von: Michael
Geschrieben am: 02.11.2015 17:06:05
Hi zusammen,
mit einer UDF (benutzerdefinierten VBA-Funktion) geht es in ein paar Zeilen:

Option Explicit
Public Function reineURL(s0 As Variant) As String
  Dim a As Variant
  Dim s As String
  Dim pos, p As Long
'  Stop
  s = s0
  pos = InStr(s, "//")
  If pos = 0 Then pos = 1 Else pos = pos + 2
  p = InStr(pos, s, "/")
  If p = 0 Then p = Len(s) Else p = p - 1
  s = Mid(s, pos, p - pos + 1)
  a = Split(s, ".")
  reineURL = a(UBound(a) - 1) & "." & a(UBound(a))
End Function
Falls ein Fehler auftreten sollte, kann man das Kommentarzeichen vor dem Stop rausnehmen und mit F8 schrittweise testen.
Das Ding gehört in ein Modul.
Schöne Grüße,
Michael

 Bild

Beiträge aus den Excel-Beispielen zum Thema "URLs kürzen"