Excel Zeichen an bestimmter stelle ersetzen
Ich möchte bei folgendem Beispiel "86/661/456/456" in Excel 2003 oder 2007 das letzte "/" durch ein Leerzeichen ersetzen, die Länge der Werte zwischen dem slash ist variabel, also ist das slash nicht immer an der selben stelle, aber ersetzen möchte ich immer nur das letzte. Danke für eine Antwort.
3 Antworten
Sind es denn immer DREI Slashs?
Dann einfach:
=WECHSELN(A1;"/";" ";3)
Sonst wird es etwas komplizierter.
Für beliebig viele Slahss. Immer der letzte wird ersetzt:
=WECHSELN(A1;"/";" ";LÄNGE(A1)-LÄNGE(WECHSELN(A1;"/";"")))
Du kannst das nicht auf eine komplette Range beziehen.
Wie soll das gehen?
Du musst dann z.B. in F1 die Formel:
=WECHSELN(E1;"/";" ";3)
schreiben, und die Zelle nach unten kopieren (am Ausfüllkästchen rechts unten in der Zelle mit der linken Maustaste nach unten ziehen) bis F220.
Danach kannst Du, wenn Du willst, die Spalte F220 kopieren und mit "Inhalte einfügen.../ Werte" die Formeln durch ihre Werte ersetzen. Danach kannst Du die Spalte E löschen ("Zellen löschen")
Du kannst das nicht auf eine komplette Range beziehen. Wie soll das gehen?
Ähhhmmm .... so??
{=WECHSELN($E$1:$E$220;"/";" ";3)}
OK! Funktionieren tut es, sogar als einfache (nicht Matrix-) Formel.
Aber ich finde es wenig sinnvoll.
Sinnvoll ist es nicht, aber deine Aussage war ja das es nicht geht. Als Nichtmatrixformel funktioniert es nur weil du den Bereich verschiebst. Es wird dann immer nur die erste Zelle angezeigt und die verschiebt sich ja beim runterziehen mit.
Die übersichtlichste Variante dürftest du wohl mit etwas VBA hinkriegen.
Drücke Alt+F11, es öffnet sich die Programmierumgebung. Auf der linken Seite müsste ein Listenfenster sein, in dem "VBAProject(Dateiname.xlsx)" steht. Da machst du einen Rechtsklick drauf, dann auf "Einfügen", dann auf Modul.
Es wird ein neues Modul erzeugt (Modul1), da machst du einfach einen Doppelklick drauf. Dann kopierst du diesen Quelltext in das rechte Fenster:
Public Function FindenRev(Text As String, Finden As String) As Integer
FindenRev = InStrRev(Text, Finden)
End Function
Dann machst du alles wieder zu und kannst in der Tabelle dann mit der Funktion =FindenRev(A1;"/")
das letzte Vorkommen von einem Slash finden.
Wenn du das durch ein Leerzeichen ersetzen willst, geht das mit =LINKS(A1; FindenRev(A1;"/")-1) & " " & TEIL(A1;FindenRev(A1;"/") +1;10)
Oh, ich seh grad die Antwort von rango9. Die ist natürlich deutlich einfacher, vorausgesetzt es gibt immer drei Slashs. Wäre dann =WECHSELN(A1;"/";" ";3)
fürs ersetzen benutzt du die funktion =WECHSELN
um das dritte slash und nciht alle 3 zu ersetzen, brauchst du die funktion =FINDEN
wie man beides benutzt, steht hier: http://www.office-loesung.de
OK danke, dann gibt es wohl keine einfacherer Lösung? Das ist dann der Aufwand nicht wert da ich kein Plan von Funktionen etc. habe.
Es sind immer 3, aber das Funktioniert irgendwie nicht es kommt immer der Wert 0 raus? Das A1 ersetzte ich zb durch E1:E220 ?