Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1704to1708
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Erweiterte Glättenfunktion?

Erweiterte Glättenfunktion?
30.07.2019 16:18:11
Rudi
Hallo Zusammen,
Ich muss von einem Datenbank Export gewisse Zeilen für Meta Tags bzw. Schlagwörter bereinigen.
Eine Zeile z.B A1 hat folgenden Inhalte(die Punkte sind = Leerzeichen, da es sonst im Beitrag nicht korrekt angezeigt wird):
Trickfilm.......Clip Arts..............Gekritzel....Komik
Es hat zwischen den Wörtern unterschiedlich viele Leerzeichen, welche ich gerne bereinigt bekommen will. Da denkt man natürlich an das "=Glätten". OK würde gehen, ABER da ja gewisse Schlagwörter wie hier im Beispiel "Clip Arts" aus zwei Wörter bestehen, würde nach dem Glätten "Clip Arts" als zwei verschiedene Wörter ausgewertet.
Was toll wäre wenn es so aussehen würde:
Trickfilm;Clip Arts;Gekritzel;Komik
Die Leerzeichen (unterschiedlich viele jeweils aber NIE nur eins) würden weggefegt und ein anderes Trennzeichen wie Semikolon ersetzt.
Formel wäre in Worte: Wenn mehr als ein Leerzeichen zwischen zwei Wörter, dann alle Leerzeichen löschen und ein Semikolon. :)
Vielen lieben Dank und Grüsse
Rudi

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Erweiterte Glättenfunktion?
30.07.2019 16:33:39
Daniel
Hi
1. ersetze zwei Leerzeichen durch ein Semikolon
2. ersetze Semikolon & Leerzeichen durch Semikolon
3. ersetze Leerzeichen durch Unterstrich
4. ersetzte Semikolon durch Leerzeichen
5. führe Glätten aus
6. Ersetze Leerzeichen durch Semikolon
7. Ersetze Unterstrich durch Leerzeichen
das setzt voraus, dass es zwischen zwei zu trennenden Wortgruppen immer mindestesn zwei Leerzeichen gibt.
Gruß Daniel
AW: RegEx
30.07.2019 16:52:42
Fennek

Sub T_2()
For i = 1 To cells(rows.count,1).end(xlup).row
With CreateObject("vbscript.regexp")
.Global = True
.IgnoreCase = True
.MultiLine = False
.Pattern = "\s{2,}"
Cells(i, 1) = .Replace(Cells(i, 1), "; ")
End With
Next i
End Sub

Anzeige
AW: RegEx
31.07.2019 08:32:54
Rudi
HAMMER!
Vielen Dank
AW: Erweiterte Glättenfunktion?
30.07.2019 19:24:56
onur

=WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(A1;"        ";";");"    ";";");"  ";";");";;";";");";  ";":") 

AW: Erweiterte Glättenfunktion?
30.07.2019 19:28:28
onur
Nimm das (Tippfehler):
=WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(A1;"        ";";");"    ";";");"  ";";");";;";";");";  ";";") 

Verträgt bis zu 16 Lerzeichen hintereinander.
Mit UDFs (unter Xl365 wahrscheinlich zT durch ...
31.07.2019 02:05:42
Luc:-?
…neue Xl-Standard-Fktt ersetzbar) folgende Fml, Rudi:
=VJoin(INDEX(GLÄTTEN(VSplit(A18;"  "));0);";";-1) 
Auf INDEX könnte auch verzichtet wdn, dann wäre das aber (wg GLÄTTEN-Anwendung auf ein Datenfeld) eine (singulare) MatrixFml:
{=VJoin(GLÄTTEN(VSplit(A18;"  "));";";-1) }
(2.VSplit-Argument sind 2 Leerzeichen → folgl gleiche Voraussetzung wie bei Daniels manuellem Exzess, der wie die andere Fml- und die RegEx-Variante ebenfalls nur sinnvoll sein kann, wenn du - wie auch hierbei - zuvor alle fraglichen Texte isolierst, die jeweilige Methode anwendest und dann ggf das Ergebnis rückspeicherst!)
DownLoad-Link: https://www.herber.de/bbs/user/99024.xlsm (BspDatei mit den 2 UDFs)
Morhn, Luc :-?
„Der beste Beweis für intelligentes Leben im Universum ist, dass noch niemand versucht hat, Kontakt mit uns aufzunehmen.“ H.Lesch, 2018, Sonneberg
Deshalb Intelligenz steigern mit …

Anzeige
Kein Manuelle Exzess, sondern die Beschreibung
31.07.2019 08:55:40
Daniel
Der notwendigen Schritte, um die Aufgabe in Excel mit Standardformeln und beliebiger Anzahl an Trennzeichen zu lösen.
Kann man natürlich bis auf das Glätten rein manuell machen, man kann aber auch eine Formel erstellen, die das macht.
Gruß Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige