Loading
Excel.Tips.Net ExcelTips (Menu Interface)

Converting Imported Information to Numeric Values

Please Note: This article is written for users of the following Microsoft Excel versions: 97, 2000, 2002, and 2003. If you are using a later version (Excel 2007 or later), this tip may not work for you. For a version of this tip written specifically for later versions of Excel, click here: Converting Imported Information to Numeric Values.

Garrett asked if there was a way to quickly convert text data to numerical data. He is importing a text file that uses spaces in the thousands place (1 256) instead of a comma (1,256).

There are several ways to approach this problem. The first is to understand the source of the problem. The text file is probably created on a system that is following a metric standard. Some countries, following the metric standard, use a space for a thousands separator instead of a comma. Thus, you could import the file properly into Excel if you change your regional settings in Windows before starting Excel and doing the import. You can change the regional settings by using the Regional Options applet in the Control Panel.

If you don't want to change the regional settings on your system, there are other approaches you can take. After Excel imports the information, you can select the range of cells that contain numbers and simply do a search and replace. You are searching for a single space and replacing it with nothing. This does away with the space completely, and Excel will then treat the contents of the cell as a number.

You can also use a formula, if desired, to modify the imported data. For instance, if the imported number (containing a space) is in cell A3, you could use this formula to strip out the space:

=1*SUBSTITUTE(A3," ","")

Note that there is a space between the first set of quotes and nothing between the second set of quotes.

If you have quite a bit of data to convert, or if you have text interspersed with the "numbers-only" cells, then you may decide to use a macro to do the conversion. The following macro works on a selection you make before calling it. It also checks to make sure that the cell—after removing the spaces—contains a numeric value. If it doesn't, then no conversion is done.

Sub ClearSpacesIfNumeric()
    Dim c As Range 'Cell under examination
    Dim tmpText As String 'Cell contents without spaces
    Dim i As Integer 'Simple counter

    For Each c In Selection
        tmpText = "" 'Initialize

        'Check each character to see if it's a space
        'If it isn't, add it to tmpText
        For i = 1 To Len(c.Text)
            If Mid(c.Text, i, 1) <> " " Then
                tmpText = tmpText & Mid(c.Text, i, 1)
            End If
        Next i

        'tmpText is now the cell contents without spaces
        'If tmpText is a number, assign its value to
        'the current cell
        If IsNumeric(tmpText) Then
            c.Value = tmpText
        End If
    Next c
End Sub

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (2248) applies to Microsoft Excel 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Excel (Excel 2007 and later) here: Converting Imported Information to Numeric Values.

Related Tips:

Excel Smarts for Beginners! Featuring the friendly and trusted For Dummies style, this popular guide shows beginners how to get up and running with Excel while also helping more experienced users get comfortable with the newest features. Check out Excel 2013 For Dummies today!

 

Leave your own comment:

*Name:
Email:
  Notify me about new comments ONLY FOR THIS TIP
Notify me about new comments ANYWHERE ON THIS SITE
Hide my email address
*Text:
*What is 5+3 (To prevent automated submissions and spam.)
 
 
           Commenting Terms

Comments for this tip:

Enduser    13 Aug 2015, 06:23
If you are not doing this all the time and want a quick method you can:

Select the entire column by clicking on the letter(s) for that column.
From the "DATA" on the ribbon click on the "TEXT TO COLUMNS."
When the dialogue box pops up click on "Finish" and you're done.
Hartmut Blau    14 May 2014, 16:32
Sub text_num()
ActiveCell = Val(ActiveCell) ' "111 222"
ActiveCell.NumberFormat = "0" ' 111222
End Sub
Hartmut Blau    14 May 2014, 15:58
Sub text_num()
Dim LNumber
LNumber = Val(ActiveCell) 'activecell = "111 222"
ActiveCell = LNumber
ActiveCell.NumberFormat = "0" 'activecell = 111222
End Sub
Nancy Lelle    27 Aug 2012, 10:10
For those of us who are not macro savy, my quick fix to convert text into numeric is the following:

1.Enter the number one in a cell off to the side and copy it.
2.Select the cells or columns that you want to convert.
3.Paste special and choose both to paste formulas and number formats and operation multiply.
 
 

Our Company

Sharon Parq Associates, Inc.

About Tips.Net

Contact Us

 

Advertise with Us

Our Privacy Policy

Our Sites

Tips.Net

Beauty and Style

Cars

Cleaning

Cooking

DriveTips (Google Drive)

ExcelTips (Excel 97–2003)

ExcelTips (Excel 2007–2016)

Gardening

Health

Home Improvement

Money and Finances

Organizing

Pests and Bugs

Pets and Animals

WindowsTips (Microsoft Windows)

WordTips (Word 97–2003)

WordTips (Word 2007–2016)

Our Products

Helpful E-books

Newsletter Archives

 

Excel Products

Word Products

Our Authors

Author Index

Write for Tips.Net

Copyright © 2016 Sharon Parq Associates, Inc.