Excel SUBSTITUTE Multiple Characters

There are two ways to “excel substitute multiple characters”: the quick way you copy and the durable way you understand. This page gives you both. The exact Excel answer is above; below, we build the small mental model that makes the fix stick, so the next variation of the same problem solves itself.

Exact answer

In Excel: use =SUBSTITUTE(text, old_text, new_text) — it finds a piece of text by its content and swaps every occurrence for new text, or just the Nth occurrence if you add a fourth argument.

Syntax

=SUBSTITUTE(text, old_text, new_text, [instance_num])

Arguments

ArgumentDescription
textrequiredThe text or cell whose content you want to change.
old_textrequiredThe piece of text to find and replace, matched by its content.
new_textrequiredThe text to put in place of old_text; use "" to remove old_text entirely.
instance_numoptionalWhich occurrence to replace (1 = first, 2 = second, …); omit to replace every occurrence.

Related functions

TRIMLEFT/RIGHT/MIDTEXTJOIN
Annotated stepsExcel
1

In an empty cell type =SUBSTITUTE( and click the cell holding the text, such as A2.

2

Type a comma, then in quotes the text to find — for example "-" for a hyphen or CHAR(160) for a non-breaking space.

3

Type a comma, then the replacement text in quotes; use "" to delete the found text entirely.

4

Optionally add a comma and a number to replace only that occurrence (1 for the first, 2 for the second, and so on).

5

Close the bracket, press Enter, and fill the formula down the column.

Ctrl+CthenCtrl+Shift+V+Cthen+Ctrl+VPaste values · WindowsMac

What this does

SUBSTITUTE replaces text by CONTENT: you tell it the characters to look for and what to put in their place, and it swaps every match in the string. This is the key difference from REPLACE, which works by POSITION (a start point and a length) rather than by what the text actually says. Common uses are stripping a character by replacing it with "" (an empty string), swapping one word for another, and removing the non-breaking space CHAR(160) that breaks lookups. An optional fourth argument, instance_num, limits the swap to a single occurrence. The same idea underpins a lot of everyday Excel work, so the few minutes spent getting it right here pay back across every sheet you build afterwards. Treat it as a pattern, not a one-off, and it stops being something you look up and starts being something you reach for. The difference between a quick fix and a sheet you can trust is the extra minute you spend validating “excel substitute multiple characters”. Start on a copy or a tiny sample, keep the affected cells visible, and compare the result with the tool above before you touch the real workbook. When a formula is involved, keep the inputs labelled beside it, reference cells instead of typing values, and apply number formatting only after the result checks out. The point is a text operation that turns messy entries into clean, usable data, but the practical win is that someone else can open the file and understand what happened without asking you.

A worked example

Cell A2 holds the phone number "+49-30-1234-5678". To strip every hyphen: =SUBSTITUTE(A2, "-", "") returns "+493012345678". To swap a word in B2 ("Annual Report") for another: =SUBSTITUTE(B2, "Annual", "Quarterly") returns "Quarterly Report". To replace only the second space in "one two three", add the instance: =SUBSTITUTE("one two three", " ", "_", 2) returns "one two_three". SUBSTITUTE is the go-to for content-based cleanup — stripping symbols, swapping words, and removing stray CHAR(160) spaces — whenever you know what the text says rather than where it sits. If there is any chance you will reuse this, drop it into a small template tab right now: a labelled input area on the left and the formula beside it, checked once against the tool above. Next time the same question comes up, the answer is a single paste away instead of a rebuild from memory.

In Google Sheets

If you are in Google Sheets rather than Excel, the good news is that the formula shown here is identical and the workflow barely changes — menus sit across the top instead of in a ribbon, and a few function names differ slightly, but anything you build here moves across with little or no rework. The aim was to get you unstuck fast and leave you a little more capable than a copy-paste would. The answer is at the top, the tool proves it, and the detail above shows why it holds — so the next time a colleague asks, you can answer without reaching for search. Here is the takeaway for “excel substitute multiple characters”: copy the answer if you are busy, but if you have a spare few minutes, rebuild the example in Excel yourself with the tool above open beside it. That single pass — type it, run it, watch the result move when you change an input — is what turns a formula you found into a technique you trust. Keep your inputs labelled and referenced, never hard-coded, and the same sheet stays correct and auditable as it grows. Done that way, you will not need to look this up again, and you will be the person others ask.

Common mistakes

  • Reaching for SUBSTITUTE when you mean to replace by position — SUBSTITUTE matches content; to overwrite characters at a known spot use REPLACE instead.
  • Forgetting that the match is case-sensitive: "Cat" and "cat" are treated as different, so the wrong case will not be swapped.
  • Omitting instance_num and replacing every occurrence when you only wanted one — add the fourth argument to target a single match.

Frequently asked questions

What is the difference between SUBSTITUTE and REPLACE?

SUBSTITUTE finds text by its content and swaps matching characters, while REPLACE overwrites a fixed number of characters at a position you give it. Use SUBSTITUTE when you know what the text says, REPLACE when you know where it sits.

How do I remove a character from a cell?

Substitute it with an empty string: =SUBSTITUTE(A2, "-", "") deletes every hyphen. The same pattern strips spaces, slashes, or the non-breaking space CHAR(160) with =SUBSTITUTE(A2, CHAR(160), "").

Is SUBSTITUTE case-sensitive?

Yes. It only swaps text that matches the case of old_text exactly, so "USD" and "usd" are different. To ignore case you would first standardise the text with UPPER or LOWER.