Please Note: This article is written for users of the following Microsoft Excel versions: 2007, 2010, and 2013. 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: Removing Dashes from ISBN Numbers.

Removing Dashes from ISBN Numbers

by Allen Wyatt
(last updated May 9, 2018)

5

Ciaran works in a library, and often has to work with long lists of ISBN numbers in Excel. The numbers must contain either 10 or 13 digits, may contain dashes, and may have leading zeros. He uses text format for cells containing ISBNs in order to keep them intact as text strings. For some purposes, the dashes in the ISBNs have to be stripped out (he uses Find and Replace for this) and that's where the trouble starts. 0-241-95011-2 becomes 241950112 (now it's dropped to 9 digits), and worse, 978-0-00-200784-9 becomes 9.78E+12 (scientific notation). Ciaran can't find any way of working around these two issues, no matter what he does with formatting before or after using Find and Replace to get rid of the dashes.

What is happening is that when you edit the cells, Excel is parsing the cell contents as numbers instead of as text. In this case, the best solution is to make sure that your cell contents are preceded with an apostrophe before you do the Find and Replace to get rid of the dashes. If you have a worksheet that contains a lot of ISBN numbers in column A, you can add the apostrophes with a formula such as the following:

= "'" & A1

You can then copy the results of the formulas and then use Paste Special to paste values back into column A. Each value in column A will then include the apostrophe. When you later perform the Find and Replace, the leading zeroes will still be present and you won't get any attempts at scientific notation.

The reason this works is because the apostrophe is an indicator to Excel that the cell contents should be treated as text. The apostrophe isn't displayed in the worksheet, but it is part of the cell contents, as you can tell by looking at the Formula bar.

Another approach is to bypass using Find and Replace to get rid of the dashes. Instead use the SUBSTITUTE function to remove them, in this manner:

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

The SUBSTITUTE worksheet function returns a text value, so any leading zeroes are maintained and Excel doesn't try to convert the numbers to use a numeric format.

If you routinely need to remove the dashes from a range of cells containing ISBNs, you might be better served to use a macro to do the operation. The following macro works upon whatever cells you've selected before running it.

Sub RemoveDashes()
    Dim c As Variant, sISBN As String

    Application.ScreenUpdating = False
    For Each c In Selection
        sISBN = Replace(c, "-", "")
        c.NumberFormat = "@"
        c.Value = "'" & sISBN
    Next
    Application.ScreenUpdating = True
End Sub

Basically the macro does three things: It removes the dashes, it formats the cell as text, and it places the stripped ISBN back in the cell with an apostrophe before it.

Note:

If you would like to know how to use the macros described on this page (or on any other page on the ExcelTips sites), I've prepared a special page that includes helpful information. Click here to open that special page in a new browser tab.

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (9928) applies to Microsoft Excel 2007, 2010, and 2013. You can find a version of this tip for the older menu interface of Excel here: Removing Dashes from ISBN Numbers.

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

Making Macros Run Faster

Designing a macro to make it run faster.

Discover More

Endnotes in a Separate Document

When you add endnotes to a document they are normally positioned (as one would expect) at the end of the document. You ...

Discover More

Every Second Tuesday

Need a way to enter dates from every second Tuesday (or some other regular interval)? Excel makes it easy, providing ...

Discover More

Solve Real Business Problems Master business modeling and analysis techniques with Excel and transform data into bottom-line results. This hands-on, scenario-focused guide shows you how to use the latest Excel tools to integrate data from multiple tables. Check out Microsoft Excel 2013 Data Analysis and Business Modeling today!

More ExcelTips (ribbon)

Summing When the First Character Matches a Value

Summing data is a common need in Excel. Summing lots of data based on a condition that needs to be met can be a bit more ...

Discover More

Where Is that Text?

Looking for a formula that can return the address of a cell containing a text string? Look no further; the solution is in ...

Discover More

Locating a Single-Occurrence Value in a Column

Given a range of cells containing values, you may have a need to find the first value in the range that is unique. This ...

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}] 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 more than 2?

2018-05-14 08:09:03

Helen

Darren - thanks so much! Helen


2018-05-13 23:40:01

Darren E

Hi Helen,
If all you want to do is add leading zeros if required to make 6 digits, just use the formula
=TEXT(A1,"000000")
It works regardless of whether the cell contains a number or a string or whether there are already leading zeros.
123 (number) ==> 000123
'123 (string) ==> 000123
'0123 (string) ==> 000123

Cheers,


2018-05-10 13:50:02

Jeff

Hi Allen, thanks for the tip. I was wondering why “c” in your macro was declared as a variant and not as a range? I understand that selection does not have to be a range, but I don’t understand how declaring it as a variant avoids runtime errors.


2018-05-10 08:52:03

Helen

I have a similar issue with zip codes, so I was trying your suggestion (converting them to text, then checking length to add leading zeroes), I first did ="'"&A1 and it made the zip 63130 into '63130 Even when I copied and pasted to values it shows as '63130 and then using the length formula, it says it is length 6

What am I doing wrong? Thanks!


2016-06-20 07:34:26

Kim

Why if I put an 13 digit ISBN number in a .csv document if I close the document and reopen it changes all the digits after 978 to zeros.


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.