Excel Zeichen an bestimmter stelle ersetzen

3 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

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;"/";"")))

Woher ich das weiß:Berufserfahrung – IT-Administrator (i.R.)

Johnnyr 
Beitragsersteller
 04.11.2013, 15:04

Es sind immer 3, aber das Funktioniert irgendwie nicht es kommt immer der Wert 0 raus? Das A1 ersetzte ich zb durch E1:E220 ?

0
Oubyi, UserMod Light  04.11.2013, 15:14
@Johnnyr

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")

2
augsburgchris  05.11.2013, 11:11
@Oubyi, UserMod Light

Du kannst das nicht auf eine komplette Range beziehen. Wie soll das gehen?

Ähhhmmm .... so??

{=WECHSELN($E$1:$E$220;"/";" ";3)}

0
augsburgchris  07.11.2013, 14:28
@Oubyi, UserMod Light

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.

0

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)


daCypher  04.11.2013, 13:33

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)

0
Johnnyr 
Beitragsersteller
 04.11.2013, 15:05
@daCypher

Danke für die mühe, aber auch hier kam immer nur der Wert 0 raus irgendwas mach ich noch falsch.

0

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


Johnnyr 
Beitragsersteller
 04.11.2013, 13:30

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.

0
rango9  04.11.2013, 13:58
@Johnnyr

ne, einfacher geht es nicht, außer es eben von hand bei jeder zeile selbst zu machen

0