Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Brauche Hilfe bei Umwandlung ...
#1
Guten Tag.

Ich bin Excel-Laie und benötige konkrete Hilfe. Die Aufgabenstellung:

Quelle Feldinhalt: Hans Müller, Schwerarbeiter

Ziel:
  • Alles klein schreiben
  • Umlaute umwandeln (z.B. ü = ue etc.)
  • Leerzeichen mit Bindestrich ersetzen, es dürfen keine Leerzeichen mehr vorhanden sein
  • Sonderzeichen (,;:.-/\ ... usw.) werden vollständig entfernt
  • Erlaubte Zeichen: 0-9, a-z, A-Z, - (Bindestrich)
  • Ideal wäre, wenn man Quell- und Zielspalte vorauswählen könnte
  • Quellfeld muss unverändert erhalten bleiben
Ergebnis im Zielfeld: hans-mueller-schwerarbeiter

Ich brauche eine Lösung, um recht umfangreiche Listen so umzuwandeln.

Vorab vielen Dank für die freundliche Hilfe.

Ich bin gerne bereit, dafür einen angemessenen Obulus zu entrichten. ;)



Grüße
Tilllo R.
Antworten Top
#2
Hallo,

kennst Du schon Power Query. Damit kann man diese Aufgabe relativ leicht umsetzen.
Power Query ist ein Add-In von Muicrosoft, das man kostenlöos herunterladen kann.
Gruß
Michael
Antworten Top
#3
Hi,

Power Query kenne ich nicht. Bin wie gesagt absoluter Excel-Laie. Bekomme nur hin, mal ne Rechenformel zu basteln. Wink
Ich schau mir Power Query mal an.
Danke für den Tipp.
Antworten Top
#4
Wo kommen denn die Daten her? Musst Du das ganze nur einmalig umsetzen oder wiederholt sich das?
Gruß
Michael
Antworten Top
#5
Hallo,

folgender Code erwartet die Eingabe in Spalte A, Ausgabe in Spalte B:


Code:
Sub Tillo_clev()
Um1 = Array("Ä", "Ö", "Ü", "ä", "ö", "ü", "ß", " ")
Um2 = Array("Ae", "Oe", "Ue", "ae", "oe", "ue", "ss", "-")
lr = Cells(Rows.Count, "A").End(xlUp).Row
Range("A1:A" & lr).Copy Range("B1")
For i = 0 To UBound(Um1)
   y = Range("B1:B" & lr).Replace(Um1(i), Um2(i), , , 1)
Next i
For i = 1 To lr
Tx = Cells(i, "B")
   Tx = LCase(Tx)
   For k = 1 To Len(Tx)
       If Mid(Tx, k, 1) Like "[a-z0-9-]" Then
           Ty = Ty & Mid(Tx, k, 1)
       End If
   Next k
Cells(i, "B") = Ty
Ty = ""
Next i
End Sub

Es wäre recht einfach, Änderungen/Ergänzungen vorzunehmen.

Eine angemessene Gegenleistung wäre zwischen 50€ (1/2 St meiner Zeit) bis 1.000 € (3 Arbeitstage bei dir eingespart), zusätzlich eine Spende für den Verein "Clever-Excel-Forum".

mfg
mfg
Antworten Top
#6
Hi Tillo,

mal ein Formelvorschlag, den du allerdings für weitere Zeichen ausbauen musst.

Tabelle3

AB
1Hans Müller, Schwerarbeiterhans-mueller-schwerarbeiter
2Kürbiskern-Olivenölkuerbiskern-olivenoel
Formeln der Tabelle
ZelleFormel
B1=GLÄTTEN(KLEIN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(A1;"ä";"ae");"ö";"oe");"ü";"ue");",";"");" ";"#");"#";"-")))

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#7
(18.05.2017, 10:13)Fennek schrieb: Eine angemessene Gegenleistung wäre zwischen 50€ (1/2 St meiner Zeit) bis 1.000 € (3 Arbeitstage bei dir eingespart), zusätzlich eine Spende für den Verein "Clever-Excel-Forum".
Das hast Du jetzt nicht wirklich geschrieben, oder? Also nur eine Spende wäre i.O. aber "zusätzlich"????? :27: :33:
Gruß
Michael
Antworten Top
#8
Hi WillWissen,

vielen Dank.
Mit dieser Formel habe ich allerdings bei

Müller, Hans - Schwerarbeiter & 123

als Vorgabe noch 3 Bindestriche hintereinander und noch das & drin:

mueller-hans---schwerarbeiter-&-123

Es sollte so aussehen:

mueller-hans-schwerarbeiter-123

Da müssten also wohl zuerst alle nicht erwünschten Zeichen entfernt werden.
Antworten Top
#9
Hi,

ich hatte dir doch geschrieben, dass die Formel für weitere Bedingungen ausgebaut werden muss. Hier für dein letztes Beispiel:

Tabelle3

AB
3mueller-hans---schwerarbeiter-&-123mueller-hans-schwerarbeiter-123
Formeln der Tabelle
ZelleFormel
B3=GLÄTTEN(KLEIN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(A3;"ä";"ae");"ö";"oe");"ü";"ue");",";"");"&";"-");"---";"-");" ";"#");"#";"-")))

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Für jedes zusätzliche Zeichen kommt einmal WECHSELN und das entsprechende Argument.

Btw:
Zitat:Das hast Du jetzt nicht wirklich geschrieben, oder? Also nur eine Spende wäre i.O. aber "zusätzlich"????? [img]
Dateiupload bitte im Forum! So geht es: Klick mich!
] [img]
Dateiupload bitte im Forum! So geht es: Klick mich!
]

hier bist du unserem guten Fennek gewaltig auf den Leim gegangen  :32:  - das war natürlich als Scherz gemeint. Ein Forum gibt selbstverständlich seine Hilfe kostenfrei.
Sollte sich dein Chef allerdings sooo über die Hilfe freuen, dass er einem gemeinnützigen Verein unter die Arme greifen will, dann lass ihn doch mal hier bis ganz zum Schluss lesen, was es damit auf sich hat.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#10
Hallo Günter,

die korrekte Formel wäre wohl diese. Hat zumindest in meinem Kurztest funktioniert.
Code:
=GLÄTTEN(KLEIN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(A2;"&";"");":";"");"-";"");",";"");"ü";"ue");"Ü";"ue");"ä";"ae");"Ä";"ae");"ö";"oe");"Ö";"oe");"ß";"ss");"`";"");"´";"");"'";"");"(";"");")";"");";";"");".";"");"_";"");"*";"");"?";"");"!";"");"  ";"-");" ";"-")))

Allerdings meckert Excel, wenn ich es im richtigen Sheet probiere, dass zu viele Verschachtelungen vorhanden wären. Es gibt viel zu viele Zeichen, die rausgefiltert werden müssen, denn in der obigen Formel sind noch nicht alle Zeichen enthalten, die im Ergebnis unerwünscht sind.

Ich denke, es wäre einfacher, ein Makro zu haben, das nur die zulässigen Zeichen (0-9,a-z,A-Z) durchlässt, die Leerzeichen gegen Bindestriche ersetzt, Umlaute umwandelt und alles ins Kleinformat wandelt, dabei die A2 bis An nach B2 bis Bn konvertiert.

Gruß
Tillo R.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste