🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

Excel WECHSELN & ERSETZEN — Tauschen nach Inhalt vs. Tauschen nach Position

|

Excel WECHSELN & ERSETZEN — Tauschen nach Inhalt vs. Tauschen nach Position

TL;DR — Beide Funktionen tauschen Text, aber sie beantworten unterschiedliche Fragen. SUBSTITUTE(text, old, new, [instance]) (deutsch: WECHSELN) arbeitet nach Inhalt — „ersetze jedes "," durch nichts" oder, mit dem 4. Argument, „ersetze nur das 2.". REPLACE(text, start, length, new) (deutsch: ERSETZEN) arbeitet nach Position — „überschreibe 5 Zeichen ab Position 9", egal, was dort steht. Wählen Sie die falsche, ändern Sie stillschweigend das Falsche. SUBSTITUTE ist case-sensitiv; REPLACE schaut sich den Inhalt überhaupt nicht an. Beide geben Text zurück und funktionieren in jeder Excel-Version.

=SUBSTITUTE("1,234,567", ",", "")      ' -> "1234567"  (jedes Komma, nach Inhalt)
=SUBSTITUTE("a-b-c", "-", ":", 2)      ' -> "a-b:c"    (nur der 2. Bindestrich)
=REPLACE("2026-XX-01", 6, 2, "04")     ' -> "2026-04-01" (nach Position)

Das sind die zwei „Suchen und Ersetzen"-Formeln, und die ganze Fertigkeit besteht darin zu wissen, in welchem mentalen Modell Sie sich befinden. Treffen Sie das richtig, sind sie trivial; treffen Sie es falsch, verbringen Sie einen Nachmittag damit, sich zu fragen, warum die falschen Zeichen geändert wurden.

Was Sie lernen werden

  • Die Kernteilung: SUBSTITUTE trifft Inhalt, REPLACE trifft Position
  • Wie das 4. Argument von SUBSTITUTE genau das N-te Vorkommen anvisiert
  • Warum SUBSTITUTE case-sensitiv ist und wie das zubeißt
  • Der berühmte LEN-minus-LEN-Trick zum Zählen von Vorkommen
  • Wann Sie REPLACE mit FIND koppeln — und wann Sie aufhören und TEXTSPLIT verwenden sollten

Das mentale Modell: ein Wortaustausch vs. ein Stempel

SUBSTITUTE ist Suchen und Ersetzen nach Bedeutung, wie das Drücken von Strg+H: „finde diesen Text, setze jenen Text an seine Stelle, überall, wo er auftaucht." Es kümmert sich nicht darum, wo die Treffer sind, nur darum, was sie sind.

REPLACE ist ein Stempel an einer Koordinate: „beginne bei Zeichen 9, übermale die nächsten 5 und schreibe stattdessen das hier." Es kümmert sich nicht darum, was dort war — es kennt nur die Position. Wenn das, was Sie ändern wollen, an einer vorhersagbaren Stelle sitzt, verwenden Sie REPLACE. Wenn es eine vorhersagbare Zeichenkette ist, die irgendwo sein könnte, verwenden Sie SUBSTITUTE.

' Festes Format -> Position ist verlässlich -> REPLACE
=REPLACE("ID-000123", 1, 3, "REF-")    ' "REF-000123"

' Bekannter Text, unbekannter Ort -> Inhalt -> SUBSTITUTE
=SUBSTITUTE("Qty: 5 units", "units", "pcs")   ' "Qty: 5 pcs"

Diese eine Unterscheidung löst nahezu jede „welche nehme ich?"-Frage.

Die Regel, die alles erschließt: das 4. Argument von SUBSTITUTE

Standardmäßig ersetzt SUBSTITUTE jedes Vorkommen — was Sie wollen, wenn Sie alle Kommas oder alle Leerzeichen aus einem Wert entfernen. Aber sein optionales 4. Argument, instance_num, lässt Sie genau eines anvisieren:

=SUBSTITUTE("a-b-c-d", "-", " ")       ' "a b c d"   — alle davon
=SUBSTITUTE("a-b-c-d", "-", " ", 3)    ' "a-b-c d"   — nur der 3. Bindestrich

Das ist das Feature, das SUBSTITUTE über sein Gewicht hinausschlagen lässt: „ändere das letzte Trennzeichen in ein Leerzeichen", „korrigiere nur den zweiten Schrägstrich". Es ist chirurgisch auf eine Weise, die REPLACE nicht sein kann, weil REPLACE von Ihnen verlangen würde, zuerst die Position zu berechnen.

SUBSTITUTE ist case-sensitiv (REPLACE ist es egal)

Eine stille Tücke: SUBSTITUTE trifft die Schreibweise exakt. SUBSTITUTE("Apple apple", "apple", "orange") ändert nur das kleingeschriebene und gibt "Apple orange" zurück. Das ist konsistent mit FIND (ebenfalls case-sensitiv), aber das Gegenteil davon, wie sich der =-Vergleich des Arbeitsblatts und SEARCH verhalten, also erwischt es die Leute. Wenn Sie ein nicht case-sensitives Ersetzen brauchen, gibt es keinen Schalter — Sie normalisieren zuerst (z. B. SUBSTITUTE(UPPER(A2), "APPLE", ...)) oder akzeptieren, dass Sie die exakte Schreibweise treffen müssen.

REPLACE umgeht das vollständig: Es schaut sich nie den Inhalt an, also ist die Schreibweise irrelevant.

Der Trick, der wissenswert ist: Vorkommen mit LEN zählen

Hier das beliebteste SUBSTITUTE-Idiom, und es hat nichts mit Ersetzen zu tun. Um zu zählen, wie oft ein Zeichen auftaucht, messen Sie, wie viel kürzer die Zeichenkette wird, wenn Sie es entfernen:

' Wie viele Kommas sind in A2?
=LEN(A2) - LEN(SUBSTITUTE(A2, ",", ""))

' Wie viele Wörter? (Leerzeichen + 1, bei einfach getrennter Zeichenkette)
=LEN(TRIM(A2)) - LEN(SUBSTITUTE(TRIM(A2), " ", "")) + 1

Entfernen Sie jedes Komma, sehen Sie, wie viele Zeichen verschwunden sind — das ist Ihre Anzahl. Es ist die Art von Querdenker-Trick, den Sie, einmal gesehen, für immer wiederverwenden.

Wann REPLACE FIND braucht, und wann Sie aufhören sollten

REPLACE kennt nur Positionen, also berechnen Sie in dem Moment, in dem die Position vom Inhalt abhängt, diese mit FIND:

' Maskiere alles vor dem @ in einer E-Mail, Länge unbekannt
=REPLACE(A2, 1, FIND("@", A2) - 1, "*****")

Das ist die legitime Ehe von Position und Inhalt. Aber wenn Sie zu SUBSTITUTE greifen, um eine Zeichenkette zu restrukturieren — etwa „Vorname,Nachname,Abteilung" in Spalten aufzuteilen — sind Sie ihm entwachsen. SUBSTITUTE zu verketten, um einen Split vorzutäuschen, ist ein klassisches Anti-Pattern; TEXTSPLIT (Excel 365) erledigt es in einer Formel und bleibt live. Und beachten Sie: Dies ist das Arbeitsblatt-REPLACE/SUBSTITUTE, nicht VBAs Replace, das standardmäßig nicht case-sensitiv ist und ein Positionsargument hat, das abschneidet — andere Regeln, gleicher Name.

Die Entscheidung

Stellen Sie eine Frage: Ändere ich einen bestimmten Text oder eine bestimmte Position? Bestimmter Text, irgendwo → SUBSTITUTE (fügen Sie das 4. Argument hinzu, um es auf ein Vorkommen zu beschränken). Bestimmte Position → REPLACE (berechnen Sie die Position mit FIND, falls sie nicht buchstäblich fest ist). Greifen Sie zur LEN-minus-LEN-Zählung? Das ist SUBSTITUTE, das sich seinen Lohn verdient. Stapeln Sie drei SUBSTITUTEs, um einen Datensatz umzuformen? Das ist Ihr Stichwort, die Zeichenkette stattdessen richtig aufzuteilen.

Wie ExcelMaster hilft

„Entferne die Währungssymbole und Tausendertrennzeichen, aber behalte das Dezimaltrennzeichen" oder „maskiere die Kontonummer bis auf die letzten vier" — das sind SUBSTITUTE/REPLACE-Aufgaben, bei denen die Falle darin besteht, Inhalt zu treffen, wenn Sie Position meinten (oder umgekehrt). ExcelMaster liest die Absicht in einfachem Deutsch und schreibt die richtige — das instance_num, wenn Sie „nur das zweite" meinen, die FIND-gesteuerte Position, wenn Sie „nach dem @" meinen — damit Sie nicht die falschen Zeichen ändern. Sie beschreiben den Tausch; es wählt das Modell.

Häufig gestellte Fragen

Was ist der Unterschied zwischen SUBSTITUTE und REPLACE?

SUBSTITUTE ersetzt Text nach Inhalt — finde eine Zeichenkette, tausche sie, wo immer sie auftaucht (oder nur beim N-ten Mal). REPLACE ersetzt nach Position — überschreibe eine feste Anzahl Zeichen ab einer gegebenen Stelle, unabhängig vom Inhalt. Verwenden Sie SUBSTITUTE für bekannten Text, REPLACE für bekannte Positionen.

Wie ersetze ich nur das zweite Vorkommen eines Zeichens?

Verwenden Sie das 4. Argument von SUBSTITUTE: =SUBSTITUTE(A2, "-", " ", 2) ändert nur den zweiten Bindestrich. REPLACE kann nicht nach Vorkommen anvisieren — es arbeitet nur nach Position.

Ist SUBSTITUTE case-sensitiv?

Ja. SUBSTITUTE(A2, "apple", "orange") rührt „Apple" nicht an. Um unabhängig von der Schreibweise zu ersetzen, normalisieren Sie den Text zuerst mit UPPER oder LOWER, da es keinen Schalter für fehlende Groß-/Kleinschreibung gibt.

Wie zähle ich, wie oft ein Zeichen in einer Zelle auftaucht?

Ziehen Sie die ent-wechselte Länge von der ursprünglichen ab: =LEN(A2) - LEN(SUBSTITUTE(A2, ",", "")) zählt die Kommas. Das Zeichen entfernen und die Differenz messen ergibt die Anzahl.

Wie ersetze ich Text an einer Position, die ich nicht im Voraus kenne?

Berechnen Sie die Position mit FIND und übergeben Sie sie an REPLACE: =REPLACE(A2, 1, FIND("@", A2) - 1, "*****") maskiert alles vor dem @. Das kombiniert REPLACEs Positionsmodell mit FINDs Inhaltssuche.

Getestet in

Getestet in: Excel 365 (Windows 11) — zuletzt geprüft am 2026-06-29.

Verwandte Anleitungen: Excel FIND & SEARCH · Excel LINKS, RECHTS & TEIL · Excel TEXTSPLIT · VBA Replace