If your data is in cell B3 put the following formula in C3

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B3,"(",""),")","")," ","")

Note that Excel on MS Windows uses list separator character as specified in Windows Control Panel --> Regional and Language --> Additional Settings --> List Separator. In case in your version of Windows it's set to ; (Semi Colon) instead of , (Comma) the formula would then become.

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B3;"(";"");")";"");" ";"")
Answer from patkim on Stack Exchange
🌐
Reddit
reddit.com › r/excel › using substitute to remove multiple characters at the same time
r/excel on Reddit: Using substitute to remove multiple characters at the same time
June 28, 2024 -

I want to use substitute with {".","!",";"} etc to remove the common non-alphanumeric characters. I know I can nest a bunch of substitute formulas together, but is there a way to do this by passing an array of symbols into the formula instead?

Discussions

Substitute Multiple Characters
In column A and B i have a set of character matches. Like this: & n ( _ ^ _ $ D # N The above is a fixed source. Next I have a dynamic list of values with multiple and random occurrences of the characters in Column A. I want a formula that will replace each of the characters in... More on mrexcel.com
🌐 mrexcel.com
18
0
June 30, 2009
How can I combine multiple nested Substitute functions in Excel? - Stack Overflow
I am trying to set up a function to reformat a string that will later be concatenated. An example string would look like this: Standard_H2_W1_Launch_123x456_S_40K_AB Though sometimes the "S" doesn't More on stackoverflow.com
🌐 stackoverflow.com
excel - Can you use SUBSTITUTE for many values without nesting? - Stack Overflow
Is there a way to swap many instances of strings at once without nesting? For instance, say I want to drop all instances of the following values from a string: Target Walmart CVS Input String: &qu... More on stackoverflow.com
🌐 stackoverflow.com
Using substitute to remove multiple characters at the same time
Assuming you are using Excel online or Excel 365 =REDUCE(A2,D2:D6,LAMBDA(x,y, SUBSTITUTE(x,y, ""))) Where A2 is your input cell and D2:D6 is a range holding all the characters you wish to remove. More on reddit.com
🌐 r/excel
24
6
June 28, 2024
🌐
Ablebits
ablebits.com › ablebits blog › excel › find & replace › using excel replace and substitute functions - formula examples
Using Excel REPLACE and SUBSTITUTE functions - formula examples
March 21, 2023 - The syntax of the Excel SUBSTITUTE function is as follows: SUBSTITUTE(text, old_text, new_text, [instance_num]) The first three arguments are required and the last one is optional. Text - the original text in which you want to substitute characters.
🌐
MrExcel
mrexcel.com › forums › question forums › excel questions
Substitute Multiple Characters | MrExcel Message Board
June 30, 2009 - ... You could use this and repalce the characters with cell ranges so that it is a little more dynamic: =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"&","n"),"(","_"),"^","_"),"$","D"),"#","N") Hope that helps.
🌐
ExcelDemy
exceldemy.com › home › excel formulas › how to substitute multiple characters in excel: 7 methods
How to Substitute Multiple Characters in Excel: 7 Methods - ExcelDemy
June 16, 2024 - We want to substitute “Word” with “Excel”. We use the SUBSTITUTE function to do so. ... Press Enter. ... Repeat the previous steps for the other two criteria. You will get values for all subsequent fields. Note. The SUBSTITUTE function is case-sensitive. As shown below, the values could not be found for words written in lowercase. So, there was no substitution.
🌐
Microsoft Fabric Community
community.fabric.microsoft.com › t5 › Desktop › substitute-multiple-values › m-p › 50217
Solved: substitute multiple values - Microsoft Fabric Community
July 20, 2016 - Solved: Hi I would like to substistute multiple values with one value, In Excel it can be done by =Substitute(Cell reference, {
Find elsewhere
🌐
Exceljet
exceljet.net › home › formulas › find and replace multiple values
Find and replace multiple values - Excel formula | Exceljet
October 29, 2025 - To find and replace multiple values (i.e., perform a batch replace all operation), you can use the REDUCE function with a custom LAMBDA function to perform multiple substitutions in a single operation.
🌐
Microsoft Support
support.microsoft.com › en-us › excel › functions › substitute-function
SUBSTITUTE function - Excel 2021
The text or the reference to a cell containing text for which you want to substitute characters. Old_text Required. The text you want to replace. New_text Required. The text you want to replace old_text with. Instance_num Optional. Specifies which occurrence of old_text you want to replace with new_text. If you specify instance_num, only that instance of old_text is replaced. Otherwise, every occurrence of old_text in text is changed to new_text. Copy the example data in the following table, and paste it in cell A1 of a new Excel worksheet.
Top answer
1 of 3
7

Update 27-4-'22:

Since LAMBDA() and it's helper functions have now been released to the production versions of ms365, one could use REDUCE():

=TRIM(REDUCE(A1,{"Target","Walmart","CVS"},LAMBDA(a,b,SUBSTITUTE(a,b,""))))

Or, even try:

=TEXTJOIN(" ",,TEXTSPLIT(A1,{" ","Target","Walmart","CVS"}))

But, be aware of possible false positives, however SUBSTITUTE() and TEXTSPLIT() are both case-sensitive so for these proper words it seemed to work out fine. To counter false positives, 1st change spaces to tripple spaces for example and go from there (or use the old answer which is still valid). Another option is to nest FILTER():

=TEXTJOIN(" ",,REDUCE(TEXTSPLIT(A1," ",,1),{"Target","Walmart","CVS"},LAMBDA(a,b,FILTER(a,a<>b))))

Old Answer (Still valid since it avoids false positives):

I guess I'd go with a "Yes it's possible, but..." answer. It may be a stretch but I noticed you haven't used any punctuation which lead me to believe we can split a string on the space and filter out the unwanted parts that way, piecing back together the wanted parts:

Formula in A2:

=TEXTJOIN(" ",,FILTERXML("<t><s>"&SUBSTITUTE(A1," ","</s><s>")&"</s></t>","//s["&TEXTJOIN(" and ",,".!= '"&B1:B3&"'")&"]"))

Now you can add as many values to your range of unwanted strings without further adaptation to your formula.

  • Note that this does require Excel 2019 or later for the TEXTJOIN() to work. With Excel 2019 you'd also need to confirm through CtrlShiftEnter.
  • Also note that this will need some adaptation the minute you start using punctuation.
  • A last remark is that FILTERXML() is case-sensitive.
2 of 3
6

There is no way with SUBSTITUTE outside of nesting to do what is wanted. In the future LAMBDA will be an option.

For now and for backwards compatibility, here is a UDF that creates a function that takes many inputs and replaces them with the desired output.

It uses a param array so one can also create individual replacements:

Function SUBALL(str As String, ParamArray arr() As Variant) As String
    Dim i As Long
    For i = LBound(arr) To UBound(arr) Step 2
        Dim rngarr As Variant
        rngarr = arr(i)
        
        If UBound(arr) > i Then
            Dim rpArr As Variant
            rpArr = arr(i + 1)
        Else
            Dim df As Boolean
            df = True
        End If
        
        If TypeName(rngarr) = "String" Then
            If df Then
                str = Replace(str, rngarr, "")
            Else
                str = Replace(str, rngarr, rpArr)
            End If
        Else
            Dim j As Long
            For j = LBound(rngarr, 1) To UBound(rngarr, 1)
                If df Then
                    str = Replace(str, rngarr(j, 1), "")
                Else
                    str = Replace(str, rngarr(j, 1), rpArr(j, 1))
                End If
            Next j
        End If
    Next i
    
    SUBALL = str
End Function

It defaults to a replace of ""

So in this instance:

=SUBALL(A1,H1:H3)

But we can also do where we specify the output:

=SUBALL(A1,H1:H3,I1:I3)

Or we can put the options as strings in the formula itself with their desired replacements:

=SUBALL(A1,"Target","MyVal","Walmart","","CVS","Long Receipt Place")


As with all UDF, there are some rules that must be followed. The pairs must have the same number of arguments. You CANNOT do:

=SUBALL(A1,H1:H3,"Word")

It will fail. But:

=SUBALL(A1,H1:H3,{"Word";"Word";"Word"})

Will work.


With SCAN and LAMBDA:

=LET(rpl,H1:H3,str,A1,INDEX(SCAN(str,rpl,LAMBDA(a,b,SUBSTITUTE(a,b,""))),COUNTA(rpl)))

If we want to replace words with other words we can use:

=LET(orig,H1:H3,rpl,I1:I3,str,A1,cnt,COUNTA(rpl),INDEX(SCAN(str,SEQUENCE(cnt),LAMBDA(a,b,SUBSTITUTE(a,INDEX(orig,b),INDEX(rpl,b)))),COUNTA(rpl)))

🌐
Contextures
contextures.com › formulas › substitute or replace
Fix Text Excel SUBSTITUTE and REPLACE Functions Examples
September 18, 2025 - Here is the formula in cell C3, and copied down to cell C5: ... The second argument, start_num, is the result of the FIND formula. The REPLACE function can be nested, to make multiple replacements in the old text string.
🌐
Quora
quora.com › How-do-you-replace-all-instances-of-a-character-in-Excel
How to replace all instances of a character in Excel - Quora
Answer: If you are really, really brave, Ctrl-H, letter you are looking for, and letter to replace it (which could be a ketter, letters, space or nothing), then click Replace All. You are either an instant hero or … or … Oh, no! I wanted to replace ALL of the Ss with Zs.
🌐
LiveFlow
liveflow.com › product-guides › substitute-function-in-excel-explained
SUBSTITUTE Function in Excel: Explained | LiveFlow
You can use it to replace specific characters or strings with alternative ones. For example, you can replace underscores (_) with spaces or replace certain abbreviations with their expanded forms. ... The SUBSTITUTE and REPLACE functions in Excel replace text in a cell or range of cells.
🌐
Formulas HQ
formulashq.com › substitute-vs-replace
SUBSTITUTE vs REPLACE - FormulasHQ
October 10, 2024 - 3. The SUBSTITUTE function below substitutes spaces with empty strings. In other words this formula removes all spaces. 4. The REPLACE function below starts at position 4 and replaces 2 characters with -P. 5. The REPLACE function below starts at position 1 and replaces 3 characters with an empty string. In other words this formula removes the first 3 characters. You can also use Excel’s Find and Replace feature to quickly find specific text and replace it with other text.
🌐
YouTube
youtube.com › watch
Excel Find & Replace Multiple Words or Characters at Once | 3 Methods VLOOKUP, SUBSTITUTE, VBA Macro - YouTube
👍👍If you have found this content useful and want to show your appreciation, please use this link to buy me a beer 🍺. https://www.paypal.com/donate/?hoste...
Published: December 8, 2022
🌐
Excel Off The Grid
exceloffthegrid.com › find-replace-multiple-words
How to Find & Replace multiple words in Excel: REDUCE & SUBSTITUTE
January 21, 2026 - Using the REDUCE and SUBSTITUTE combination, we can find and replace multiple words in Excel to calculate dynamic sentences and headings.
🌐
Statology
statology.org › home › google sheets: how to substitute multiple values
Google Sheets: How to Substitute Multiple Values
January 25, 2022 - I would suggest that Google Sheet (and MS Excel, for that matter) developers consider adding a formula called “SUBSTITUTES” (notice the plural “s” at the end), then format it in the same way that the “IFS” statement takes in multiple IF conditions without nesting.
Top answer
1 of 2
1

This works for me:

=SUBSTITUTE(SUBSTITUTE(yourcell; CHAR(x1); CHAR(x2)); CHAR(y); CHAR(y1))

2 substitutions

=SUBSTITUTE(SUBSTITUTE((yourcell; CHAR(x1); CHAR(x2)); CHAR(y); CHAR(y1)); CHAR(z1); CHAR(z2))

3 substitutions

In your example, for replacing ç with c , and û with u

=SUBSTITUTE(SUBSTITUTE(yourcell; CHAR(231); CHAR(99)); CHAR(251); CHAR(117))

To find the code of any letter, simply use UNICODE function, for example:

=UNICODE("ç")

returns 231.

If you want to remove punctuation using substitute use this syntax (let's replace dots with nothing):

=SUBSTITUTE(yourcell; CHAR(46); "") 
2 of 2
0

It's also possible to use nested SUBSTITUTE() functions to preserve a character in some instances but change it in others:

In cell A1 I have:

Comedy, Music, Bonus Features

In cell B1 I want:

comedy music bonus.features

One formula to achieve this is:

=LOWER(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TRIM(A1); ", "; "|"); " "; "."); "|"; " "))

The first substitution replaces a comma and space (", ") with a character not likely to be found in cell A1: "|".

The second substitution replaces all spaces with periods.

The third substitution replaces all | characters with spaces.

The order is important so that wanted spaces aren't replaced with periods.

The TRIM() function ensures that no trailing spaces in A1 are converted to periods.

Another way to achieve this with fewer steps is to use this formula:

=LOWER(SUBSTITUTE(SUBSTITUTE(TRIM(A1); " "; "."); ",."; " "))

In this case, the first substitution replaces all the spaces with periods, which results in:

comedy,.music,.bonus.features

The second substitution replaces all instances of ",." with a space to get the desired result:

comedy music bonus.features
🌐
Microsoft Support
support.microsoft.com › en-gb › office › substitute-function-6434944e-a904-4336-a9b0-1e58df3bc332
SUBSTITUTE function | Microsoft Support
The text or the reference to a cell containing text for which you want to substitute characters. Old_text Required. The text you want to replace. New_text Required. The text you want to replace old_text with. Instance_num Optional. Specifies which occurrence of old_text you want to replace with new_text. If you specify instance_num, only that instance of old_text is replaced. Otherwise, every occurrence of old_text in text is changed to new_text. Copy the example data in the following table, and paste it in cell A1 of a new Excel worksheet.
🌐
Microsoft Support
support.microsoft.com › en-au › office › replace-function-8d799074-2425-4a8a-84bc-82472868878a
REPLACE function | Microsoft Support
Syntax: REPLACE(old_text, start_num, num_chars, new_text) REPLACEB(old_text, start_num, num_bytes, new_text)