Please Note: This article is written for users of the following Microsoft Excel versions: 2007, 2010, 2013, and 2016. If you are using an earlier version (Excel 2003 or earlier), this tip may not work for you. For a version of this tip written specifically for earlier versions of Excel, click here: Using a Formula to Replace Spaces with Dashes.

Using a Formula to Replace Spaces with Dashes

by Allen Wyatt
(last updated June 16, 2021)

10

Viv has a worksheet that contains lots of product descriptions. She needs a way to replace all the spaces between words with dashes. She knows she could use Find and Replace, but would prefer to use a formula to do the replacements.

Perhaps the easiest way to accomplish this task, using a formula, is to rely on the SUBSTITUTE function. At its most simple, SUBSTITUTE is used to replace one character in a text string with a different character. Thus, assuming your original product description is in cell A1, you could use the following:

=SUBSTITUTE(A1," ","-")

This formula locates every space in the text and replaces them with dashes. If you have additional product descriptions in column A and you placed this formula in cell B1, just copy the formula down as many cells as necessary.

If you are concerned that there may be leading or trailing spaces in your data, then you can expand the formula using the TRIM function:

=SUBSTITUTE(TRIM(A1)," ","-")

Either of the formulas presented so far does great at replacing regular spaces within text. Understand, however, that if you are importing your original text from a program other than Excel, the text may contain characters that look like regular spaces, but aren't really. In that case, the above approaches won't work and you'll need to do some detective work to figure out exactly what the faux spaces really are so you can replace them.

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (12488) applies to Microsoft Excel 2007, 2010, 2013, and 2016. You can find a version of this tip for the older menu interface of Excel here: Using a Formula to Replace Spaces with Dashes.

Author Bio

Allen Wyatt

With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He is president of Sharon Parq Associates, a computer and publishing services company. ...

MORE FROM ALLEN

Determining the Number of Paragraphs in a Document

When using a macro to process a document in some way, you often need to know the number of paragraphs in the document. ...

Discover More

Creating a Drawing Object

Word documents can contain more than just wordsâ€""they can also contain drawing objects such as lines and simple shapes. ...

Discover More

Inserting a Paragraph from within a Macro

Macros are often used to process documents, resulting in changes of one manner or another. If you need your macro to add ...

Discover More

Comprehensive VBA Guide Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out Mastering VBA for Office 2010 today!

More ExcelTips (ribbon)

Limiting a Calculated Value to a Range

If you want to limit what is returned by a formula to something between lower and upper boundaries, the solution is to ...

Discover More

Cell and Name References in COUNTIF

The second parameter of the COUNTIF function is used to specify the criteria to be used when determining what should be ...

Discover More

Adding a Statement Showing an Automatic Row Count

If you want to add a dynamic statement to a worksheet that indicates how many rows are in a data table, you might be at a ...

Discover More
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

View most recent newsletter.

Comments

If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] (all 7 characters, in the sequence shown) in your comment text. You’ll be prompted to upload your image when you submit the comment. Maximum image size is 6Mpixels. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

What is four less than 6?

2021-06-17 02:15:59

Rober5t

Edwin. I find that the copied quotation marks are sometimes different than my system's, so I just replace them with my computer's quotation marks and all is good.


2021-06-16 15:19:42

B

Edwin,

Lighten up dude, this is a free site!!!


2020-12-11 08:38:52

Alan Elston

Hi Edwin
This works for me in English Excel versions 2002 2003 2007 2010 on several computers with Operating Systems of XP, Vista, Windows 7 and Windows 10
Can you give more details of how you are attempting to use this formula.

i don't think there are any fundamental problems, or any known Bugs ,or any reported problems with this particular Excel Function.
Alan Elston


2020-05-19 23:43:00

Edwin

I copied the function exactly and placed in the correct (same) cell and this does not work. Either update or advise the correct formula or don't inform people of incorrect data. Thank you


2019-06-28 10:41:20

E

BTW, final formula for this use case was:
=LOWER(SUBSTITUTE(TRIM(B2)," ","_"))

Replaced all spaces with underscore, and transformed all CHARACTERS to lowercase.
Now have well formed column headers for data munging!


2019-06-28 10:38:52

E

Super helpful, the TRIM is a nice addition as well. Many thanks!


2019-03-27 14:01:31

hafiz salahuddin

Very helpful :) thanks so much


2018-09-18 06:09:25

Robert

Thanks Allen, this is very helpful. Really appreciate the time and effort you've made to share your knowledge.


2017-07-25 03:40:16

Peter M

Spot on Alex!

I use the CellView addin from Chip Pearson (www.cpearson.com/excel/cellview.htm) to see the ascii code.

I have several macros either Trimming data or replacing spaces all of which I ultimately changed to incoropate CHR(160) as a space to avoid the hassle of things not working properly when CHR(160) is encountered.

I think there is a good case for the TRIM function automatically assuming CHR(160) is a space and processing it accordingly.


2017-07-22 08:03:41

Alex B

If you find trim isn't removing the leading & trailing spaces and / or substitute isn't handling the spaces, try isolating the character usIng MID () and finding its ASCII code using CODE() ie
=CODE(MID (A1,3,1))
- where one of the offending characters is in the 3rd position.

With a SAP application output this is likely to give you a result of 160 which the ASCII code for a non-breaking space.
You would then need to modify your substitute formula to be
=SUBSTITUTE (A1,CHAR (160),"-")

There are quite a few sources for ASCII tables but this one gives English description for the code
http://www.ascii-code.com


This Site

Got a version of Excel that uses the ribbon interface (Excel 2007 or later)? This site is for you! If you use an earlier version of Excel, visit our ExcelTips site focusing on the menu interface.

Newest Tips
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

(Your e-mail address is not shared with anyone, ever.)

View the most recent newsletter.