Monday, March 25, 2013

Excel - Convert Text to a Number

Excel just gets so mixed up with numbers and text, and it sucks to deal with.  For example, if you want to use Match() or Vlookup() and in one sheet you have the field as text and the other you have it as a number, the lookup will fail!  Why can't one of these lookups work like control-F (Find), it will find a match wether it's text, number, or any other format!

Anyways, if you have a column of numbers stored as text you'll see this little guy:


That green carrot in the corner tells you that this is a number stored as text.

To convert it back to a number you can use:

VALUE( )

That way you can keep it as text in one column and a number format in another.

Here are the other methods that Microsoft lists off,  Method 1 and 2 are totally dumb.  Probably the easiest is to just select all the cells, hold the shift key, click that green carrot and select convert text to number (which they don't even mention!).

To convert text to numbers in a worksheet, use any of the following methods. 

NOTE: Each of these methods assumes you have already changed any cell number formatting in the cells to General. To do this, follow these steps:
  1. On the Format menu, click Cells.
  2. On the Number tab, under Category, click General, and then click OK.

Method 1: Retype the Values in the Cells

On the Format menu, click Cells, and click the Number tab to change the number format of the cells. Then, retype the numbers.

Method 2: Select "Edit Directly in Cell"

To use this method, follow these steps:
  1. On the Tools menu, click Options (in Windows), or click Preferences on the Edit menu (on the Mac).
  2. On the Edit tab, verify that the Edit directly in cell check box is selected. Click OK.
  3. Double-click the cell you want to format, and then press ENTER.

Method 3: Use Paste Special with Multiply

To use this method, follow these steps:
  1. In any blank cell, enter the value 1.
  2. Select the cell in which you typed 1 and click Copy on the Edit menu.
  3. Select the cells with the values that you want to convert to numbers.
  4. On the Edit menu, click Paste Special.
  5. Under Operation, click Multiply. Under Paste, click Values, and then click OK.

Method 4: Remove Hidden Characters and Spaces

This method works best if the data is arranged in a single column or row. This technique uses the TRIM function and the CLEAN function to remove extra spaces and nonprinting characters that may be imported with the file. The following example assumes that the data is in column A and starts in row 1 ($A$1). To use this example, follow these steps:
  1. Insert a column to the right of column A by selecting column B and clicking Columns on the Insert menu.
  2. In the first cell of the inserted column (B1), type the following:
  3. In column B, select all the cells to the right of the cells that contain data in column A.
  4. On the Edit menu, point to Fill, and then click Down.

    The new column contains the values of the text in column A.
  5. With the same range selected, click Copy on the Edit menu.
  6. Select cell A1, and click Paste Special on the Edit menu. Under Paste, click Values, and click OK to paste the converted values back on top of column A.
  7. Delete column B by selecting the column and clicking Delete on the Edit menu.
The text that was in column A is in a number format.

Method 5: Use a Visual Basic for Applications Procedure

Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements. Create a Visual Basic for Applications macro to reenter the numbers in the selected cell or range of cells. To do this, follow these steps:
  1. Select the cells that exhibit the behavior.
  2. If you have not already done so, click Cells on the Format menu and click the Number tab to change the number format of the cells.
  3. On the Tools menu, point to Macro, and then click Visual Basic Editor.
  4. On the Insert menu, click Module.
  5. Type the following macro code in the new module:
  6. On the File menu, click Close and Return to Microsoft Excel.
  7. Reselect the affected cells if they are not already selected.
  8. On the Tools menu, point to Macro, and then click Macros. In the Macro name list, click Enter_Values. Click Run.

Method 6: Use Text to Columns

This method works best if the data is arranged in a single column. The following example assumes that the data is in column A and starts in row 1 ($A$1). To use this example, follow these steps:
  1. Select one column of cells that contain the text.
  2. On the Data menu, click Text to Columns.
  3. Under Original data type, click Delimited, and click Next.
  4. Under Delimiters, click to select the Tab check box, and click Next.
  5. Under Column data format, click General.
  6. Click Advanced and make any appropriate settings for the Decimal separator and Thousands separator. Click OK.
  7. Click Finish.
The text is converted to numbers.


2 comments:

  1. For some reason converting large group of cells (100+ rows) takes VERY long amount of time. It literally freezes up computer for minutes. Does anyone know how to get around sitting and waiting for 5 minutes every time this has to be done?

    ReplyDelete
    Replies
    1. It could be a hardware constraint - ie you nee more RAM in your computer. You may also try installing the 64-bit version of Excel on your computer.

      Delete