Registriert seit: 18.05.2017
Version(en): 2013
Guten Tag. Ich bin Excel-Laie und benötige konkrete Hilfe. Die Aufgabenstellung: Quelle Feldinhalt: Hans Müller, SchwerarbeiterZiel:- 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-schwerarbeiterIch 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.
Registriert seit: 11.03.2015
Version(en): mittlerweile meistens 2019
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
Registriert seit: 18.05.2017
Version(en): 2013
Hi, Power Query kenne ich nicht. Bin wie gesagt absoluter Excel-Laie. Bekomme nur hin, mal ne Rechenformel zu basteln. Ich schau mir Power Query mal an. Danke für den Tipp.
Registriert seit: 11.03.2015
Version(en): mittlerweile meistens 2019
Wo kommen denn die Daten her? Musst Du das ganze nur einmalig umsetzen oder wiederholt sich das?
Gruß Michael
Registriert seit: 06.12.2015
Version(en): 2016
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
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
Hi Tillo, mal ein Formelvorschlag, den du allerdings für weitere Zeichen ausbauen musst. Tabelle3 | A | B | 1 | Hans Müller, Schwerarbeiter | hans-mueller-schwerarbeiter | 2 | Kürbiskern-Olivenöl | kuerbiskern-olivenoel | Formeln der Tabelle | Zelle | Formel | 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)
Registriert seit: 11.03.2015
Version(en): mittlerweile meistens 2019
(18.05.2017, 11: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
Registriert seit: 18.05.2017
Version(en): 2013
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.
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
18.05.2017, 12:36
(Dieser Beitrag wurde zuletzt bearbeitet: 18.05.2017, 12:36 von WillWissen.)
Hi, ich hatte dir doch geschrieben, dass die Formel für weitere Bedingungen ausgebaut werden muss. Hier für dein letztes Beispiel: Tabelle3 | A | B | 3 | mueller-hans---schwerarbeiter-&-123 | mueller-hans-schwerarbeiter-123 | Formeln der Tabelle | Zelle | Formel | 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)
Registriert seit: 18.05.2017
Version(en): 2013
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 A n nach B2 bis B n konvertiert. Gruß Tillo R.
|