Entering Data as Thousands

Richard would like to type a value into a cell and have Excel assume that the value is thousands. For instance, he would like to enter “3” into a cell and have Excel treat the value as 3,000; if he enters “14” into the cell, then Excel should treat it as 14,000.

There are several different ways that this can be handled, depending on how you want the data treated once it is entered. One approach is to change the formatting of the cell into which the values are being entered. You could, for instance, use the following custom format for the cell:

#,##0",000"

Whenever you enter a value in the cell, Excel follows the value with “,000”. Thus, enter 27 in the cell and Excel displays 27,000.

The drawback to this approach is that the underlying number is still considered the smaller value. If you later try to add 1 to the cell contents, you don’t get 27,001, you get 28,000. You also won’t be able to enter decimal values. This means that if you enter 1.23, you don’t get 1,230; you instead get 1,000 because the value is treated as an integer before displaying.

A better approach is, perhaps, to change a configuration setting in Excel itself. Follow these steps:

  1. Display the Excel Options dialog box. (In Excel 2007 click the Office button and then click Excel Options. In Excel 2010 and Excel 2013 display the File tab of the ribbon and then click Options.)
  2. At the left side of the dialog box, click Advanced. (See Figure 1.)
  3. Figure 1. The advanced options of the Excel Options dialog box.

  4. Check the Automatically Insert a Decimal Point check box and change the value for the setting to -3.
  5. Click OK.

Now, whenever you enter any information into a cell, Excel automatically multiplies the value by 1,000, provided you don’t include a decimal point in what you are entering. This means that if you enter the value 3, Excel actually enters 3,000 into the cell. If you instead enter 1.23, then Excel enters 1.23; it doesn’t multiply by 1,000.

If you choose this approach, remember that it is not only data entry on the current worksheet that is affected. This setting affects all data entry on all worksheets from this time forward. If this is not what you want, then you’ll need to remember to turn off the setting (clear the check box) when you want to return to normal data entry.

You could, as well, use a macro approach to the problem. For instance, if you are entering only numeric data into the worksheet, you could create a macro that will multiply the contents of a cell by 1,000 every time the cell changes. Right-click the worksheet tab and choose View Code from the resulting Context menu. Then enter the following macro into the code window:

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    Target = Target * 1000
    Application.EnableEvents = True
End Sub

Perhaps the best solution, though, is to keep things simple. Have a column where you input your values as you want. Then, in another column, use a formula to modify whatever values you entered. For example, you could enter 1.23 into cell A1. In cell B1, then, you could multiply this value by 1,000. The value in cell B1 could then be used within other formulas, elsewhere in your workbook.