To simply combine them you can place them all together like this:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"_AB","_"),"_CD","_"),"_EF","_"),"_40K",""),"_60K",""),"_S_","_"),"_","-")

(note that this may pass the older Excel limit of 7 nested statements. I'm testing in Excel 2010


Another way to do it is by utilizing Left and Right functions.

This assumes that the changing data on the end is always present and is 8 characters long

=SUBSTITUTE(LEFT(A2,LEN(A2)-8),"_","-")

This will achieve the same resulting string


If the string doesn't always end with 8 characters that you want to strip off you can search for the "_S" and get the current location. Try this:

=SUBSTITUTE(LEFT(A2,FIND("_S",A2,1)),"_","-")
Answer from Automate This on Stack Overflow
🌐
Ablebits
ablebits.com › ablebits blog › excel › find & replace › excel: find and replace multiple values at once
Excel: find and replace multiple values at once
June 26, 2026 - Before each recursive call, the IF function evaluates the old_chars string. If it is not empty, the function calls itself. As soon as the last character has been replaced, the iteration process finishes, the formula returns text it its present form and exits. Note. Because the SUBSTITUTE function used in our core formulas is case-sensitive, both Lambdas (MultiReplace and ReplaceChars) treat uppercase and lowercase letters as different characters. The solution works in Excel for Microsoft 365, Excel 2024, and Excel on the web
Discussions

Replace multiple specific pieces of text in a cell
Hi everyone, I'd like to be able to find and replace multiple strings of text in a single cell using one formula. e.g. cell A1 = "Daytime 20.50, Evening and Weekend 11.75" cell A2 old text = 20.50 cell A3 old text = 11.75 cell B2 new text = 22.50 cell B3 new text = 12.50 What formula can I... More on mrexcel.com
🌐 mrexcel.com
3
0
November 19, 2024
excel - Can you use SUBSTITUTE for many values without nesting? - Stack Overflow
I tried =SUBSTITUTE(A1,H1:H3,"") where A1 is the input and H1:H3 are the strings to replace but this only swaps the first string · I know how to do this in VBA but this project cannot use VBA ... Short Answer...No. It is the most frustrating thing. Maybe with Lamda... ... Here is the reference to using lambda for multiple ... More on stackoverflow.com
🌐 stackoverflow.com
How can I replace multiple string at once in Excel? - Stack Overflow
The function I expected some_function(original_text, "search_text", "replacement_text") The value of the second & third parameters will be multiple characters. For example.... More on stackoverflow.com
🌐 stackoverflow.com
Replace multiple text strings in a phrase without a recursive lambda (per se') using REDUCE()
A couple of notes on this approach SUBSTITUTE is case sensitive, so a user would need to consider the cases they require in your lookup table. Your approach is replacing text strings not words. So an input phrase of "My telephone number is one." becomes "My telephred number is red." as the text string "one" appears in the word "telephone". This may be the required output for a user, so just a note of caution if someone uses this approach. Using an iterative approach on the table may lead to "double" changes. If the output word for your "one" row in your lookup table is the made up word "twop", my phrase of "My telephone number is one." becomes "My telephwhitep number is whitep.". In this instance, the first iteration changed "one" to "twop". The second iteration changed "two" to "white" More on reddit.com
🌐 r/excel
11
7
February 21, 2023
🌐
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.
🌐
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 - To run a VBA code to substitute multiple characters, just follow the steps described below. ... Press Alt + F11 to open the Macro-Enabled Worksheet. Go to the Insert tab. Select Module. ... Sub replaceAll() 'declare object variable to hold reference to cell you work with Dim myCell As Range 'declare variables to hold parameters for string replacement (string to replace and replacement string) Dim myStringToReplace As String Dim myReplacementString As String 'identify cell you work with Set myCell = ThisWorkbook.Worksheets("VBA").Range("C5") 'specify parameters for string replacement (string to replace and replacement string) myStringToReplace = "234-235-5689" myReplacementString = "234 235 5689" 'replace all occurrences within string in cell you work with, and assign resulting string to Range.
🌐
Microsoft Support
support.microsoft.com › en-us › office › substitute-function-6434944e-a904-4336-a9b0-1e58df3bc332
SUBSTITUTE function | Microsoft Support
Substitutes new_text for old_text in a text string. Use SUBSTITUTE when you want to replace specific text in a text string; use REPLACE when you want to replace any text that occurs in a specific location in a text string.
🌐
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.
Find elsewhere
🌐
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, {
🌐
How To Excel
howtoexcel.org › how-to-find-and-replace-multiple-text-strings-within-a-text-string
How To Find And Replace Multiple Text Strings Within A Text String | How To Excel
In this post we’re going to explore how to find and replace multiple text strings from within another string. ... Excel has a great built in function called SUBSTITUTE which allows you to find one bit of text within another text string and substitute it for another bit of text.
🌐
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 tutorial explains the Excel REPLACE and SUBSTITUTE functions with examples of uses. See how to use the REPLACE function with text strings, numbers and dates, and how to nest several REPLACE or SUBSTITUTE functions within one formula.
🌐
MrExcel
mrexcel.com › forums › question forums › excel questions
Replace multiple specific pieces of text in a cell | MrExcel Message Board
November 19, 2024 - Hi everyone, I'd like to be able to find and replace multiple strings of text in a single cell using one formula. e.g. cell A1 = "Daytime 20.50, Evening and Weekend 11.75" cell A2 old text = 20.50 cell A3 old text = 11.75 cell B2 new text = 22.50 cell B3 new text = 12.50 What formula can I write to achieve the following outcome in cell B1? = "Daytime 22.50, Evening and Weekend 12.50" Click to expand... Don't worry guys I've worked it out! I used =SUBSTITUTE(SUBSTITUTE(A1,A2,B2),A3,B3)
🌐
Statology
statology.org › home › excel: how to substitute multiple values in cell
Excel: How to Substitute Multiple Values in Cell
June 2, 2023 - Note that in this example we substitute two values in a cell, but you can create as many nested SUBSTITUTE functions as you’d like to substitute as many values as you’d like. The following example shows how to use this formula in practice. Suppose we have the following dataset in Excel that contains information about various basketball players:
🌐
Excel Champs
excelchamps.com › excel champs › excel formulas list › how to substitute multiple values (nested) in excel
How to Substitute Multiple Values (Nested) in Excel (Formula)
March 13, 2023 - To replace more than one value in a cell, nest SUBSTITUTE inside itself — each function works on the result of the one before it: =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"One","1"),"Two","2"),"Three","3"). Build it from the inside out, so the ...
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)))

🌐
Calpoly
mwolfe04.ime.calpoly.edu › home › eduu
Excel Substitute Multiple Strings - Cal Poly Innovations Hub
June 7, 2025 - By understanding these techniques ... data manipulation tasks. ... Yes, you can use an array formula with the SUBSTITUTE function to substitute multiple strings in a single cell....
🌐
ElyxAI
getelyxai.com › home › how-to guides › how to use substitute for multiple replacements in excel
How to How to Use SUBSTITUTE for Multiple Replacements in Excel in Excel - Practical Guide | ElyxAI
This method works for sequential single replacements but doesn't replace multiple values simultaneously in one formula. Wrap nested SUBSTITUTE in TRIM function: =TRIM(SUBSTITUTE(SUBSTITUTE(A2,"old1","new1"),"old2","new2")). This removes extra spaces while replacing text, useful for standardizing poorly formatted data. In Excel 365, use =REGEX(A2,"pattern","replacement") for pattern-based replacements, which is more powerful for complex text transformations than nested SUBSTITUTE functions.
🌐
ExtendOffice
extendoffice.com › home › office tips › excel tips
How to use SUBSTITUE function in Excel?
October 24, 2024 - Using Efficient Tabs in Excel Like Chrome, Edge, Firefox and Safari! Save 50% of your time, and reduce thousands of mouse clicks for you every day! Case 1 Replace specific character with other in specific location · =SUBSTITUTE(text, old_text, new_text, [instance_num]) If you want to replace a string with another in a specific location, please do as these:
🌐
Reddit
reddit.com › r/excel › replace multiple text strings in a phrase without a recursive lambda (per se') using reduce()
r/excel on Reddit: Replace multiple text strings in a phrase without a recursive lambda (per se') using REDUCE()
February 21, 2023 -

Saw this technique about using REDUCE in a recursive type role and thought I'd share an easy use case.

Using REDUCE()

=LET(phrase,A1,

text,A4:A6,

replwith,B4:B6,

REDUCE(phrase,SEQUENCE(ROWS(text)),LAMBDA(newphrase,next,SUBSTITUTE(newphrase,INDEX(text,next),INDEX(replwith,next)))))

Phrase is the starting text string.

Text is an array of words (case sensitive) you want replaced in Phrase.

replwith is an equal array of text strings you want to to use as the substitution text.

REDUCE starts with phrase and then iterates n times where n is the length of the text array. Each time it substitutes one element of the text array with the corresponding element of the replwith array. The result after n iterations is newphrase.

Top answer
1 of 2
2
A couple of notes on this approach SUBSTITUTE is case sensitive, so a user would need to consider the cases they require in your lookup table. Your approach is replacing text strings not words. So an input phrase of "My telephone number is one." becomes "My telephred number is red." as the text string "one" appears in the word "telephone". This may be the required output for a user, so just a note of caution if someone uses this approach. Using an iterative approach on the table may lead to "double" changes. If the output word for your "one" row in your lookup table is the made up word "twop", my phrase of "My telephone number is one." becomes "My telephwhitep number is whitep.". In this instance, the first iteration changed "one" to "twop". The second iteration changed "two" to "white"
2 of 2
1
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread: Fewer Letters | More Letters | Last usage | Office 365+: Use a LAMBDA function to create custom, reusable functions and call them by a friendly name. | REDUCE | Office 365+: Reduces an array to an accumulated value by applying a LAMBDA to each value and returning the total value in the accumulator. | Last usage | Replaces characters within text | Last usage | Substitutes new text for old text in a text string | Last usage | Office 365+: Returns text that occurs after given character or string | Last usage | Office 365+: Returns text that occurs before a given character or string Beep-boop, I am a helper bot. Please do not verify me as a solution. 5 acronyms in this thread; the most compressed thread commented on today has 10 acronyms. [Thread #21803 for this sub, first seen 21st Feb 2023, 14:53] [FAQ] [Full list] ^[Contact] [Source code]