139

I would like to prevent Excel behavior that any large number I enter is stored as a number, then abbreviated to scientific notation. Is it possible to tell Excel 2007 to stop doing this?

VBwhatnow
  • 2,219

8 Answers8

107

Unfortunately excel does not allow you to turn this functionality off by default.

However if you select your data, right click, and click "Format cells..." and choose Number you can stop excel from changing your data to scientific notation.

VBwhatnow
  • 2,219
  • 4
    I would argue that your modification to the question changes its meaning. Excel only accepts numerical data up to a certain precision, so there's a distinction between storing as text (essentially unlimited precision, but difficult to manipulate) and storing as a number. The original question did ask how to store as text by default. And then there's how the (imprecise?) number is displayed, which the modified question and your answer address. – Bob Jul 24 '12 at 09:56
  • 1
    You are right when you say that if the asker wants to actually store as text my answer would be incorrect. He can clarify later if my answer is not satisfactory and we can look at other solutions. – VBwhatnow Jul 24 '12 at 10:08
  • 2
    Please note that while saving your file it goes back to same scientific notation. –  Sep 19 '13 at 07:49
  • 12
    Keep in mind however that if there are more than 15 digits in the number excel will convert the digits at the end to "0"

    Seriously... it will do that...

    https://support.microsoft.com/en-us/kb/269370

    – theFisher86 Dec 17 '15 at 19:44
  • This worked perfectly in Excel 2016 for Mac - set display format to numbers, then Save As... and choose Text File (tab delimited) *.txt or whatever, and it saved without exponential formatting. – Demis Nov 29 '16 at 01:39
  • 4
    The issue is that excel loses the data when you open a csv file. It cannot be stopped from truncating really long numbers such as 20 digit SIM card ICCIDs. – Justin Goldberg Aug 16 '18 at 16:21
  • 1
    Select the Cell, format it as Text, press F2 key and then Return key. – Matias Masso Dec 02 '21 at 19:49
  • I really do not enjoy working with Excel... – Giacomo Feb 16 '22 at 11:58
  • After 35 years of Excel, and you still can't export to CSV correctly by default. Issues to keep in mind (Excel 365): (1) Numbers larger than some N digits will either be truncated or (b) removing ending 0s. (c) Selecting cell and format as text is not doing the same as if you select multiple cells and formatting as text, which has no effect on large numbers, and insists displaying in scientific notation. Absurd! – not2qubit Mar 10 '23 at 10:05
30

This is inconvenient (yet effective) hack. Note, this is only really useful if you need to import the full number into another application (like Access) or provide the proper display.

If you format the column in question as number, you can copy all correctly formatted numbers into Notepad. Then just create a new column formatted as text, and copy the Notepad representation into the new column.

Olli
  • 7,631
21

Maybe scientific notation is one of the less useful Excel behaviour.

If you have a scientific notation in the A1 cell you cant just use this formula to have a text formatted value in the B1 cell:

=CONCATENATE(A1)

This is an example of the results:

+----+--------------------------+-------------------------+
|    |            A             |            B            |
+----+--------------------------+-------------------------+
|  1 | Ugly scientific notation | Awesome numbers as text |
|  2 | 8,80001E+11              | 880001465055            |
|  3 | 8,80001E+11              | 880001445410            |
|  4 | 8,80001E+11              | 880001455678            |
|  5 | 8,80001E+11              | 880001441264            |
|  6 | 8,80001E+11              | 880001413012            |
|  7 | 8,80001E+11              | 880001391343            |
|  8 | 8,80001E+11              | 880001373652            |
|  9 | 8,80001E+11              | 880001273395            |
| 10 | 8,80001E+11              | 880001115228            |
| 11 | 8,80001E+11              | 880001185106            |
| 12 | 8,80001E+11              | 880001062936            |
| 13 | 8,80001E+11              | 880000796522            |
| 14 | 8,80001E+11              | 880000890200            |
| 15 | 8,80001E+11              | 880000596278            |
| 16 | 8,8E+11                  | 880000243378            |
| 17 | 8,8E+11                  | 880000069050            |
| 18 | 8,85101E+11              | 885100625390            |
+----+--------------------------+-------------------------+
2

One workaround I use when pasting in tab-delimited data that contains long numeric codes is to set the cell format before I paste the data.

If you're pasting into a blank sheet

  1. Select all (Ctrl+A).
  2. Format the cells as "text" (Ctrl+1 to bring up the format menu).
  3. Paste your data (Ctrl+V).

If you're pasting in a section

  1. Paste the tab-delimited data into Excel, and leave it as selected.
  2. Press the delete key. This will delete the new data, but will keep the cells selected.
  3. Set the format of the selected cells to be "text" (Ctrl+1 to bring up format menu)
  4. Paste the new data in again

It seems that Excel will leave the numeric codes alone if the cells are already set as text, but will otherwise treat them irreversibly as numbers.

Giles
  • 194
  • This doesn't work in many cases. Excel in office 365 seems to be changing the format. You can select the whole column, change to Text, copy in a long number, and the format is switched automatically to General. – Rob Jun 11 '21 at 15:00
  • @Rob Yes, Office 365/Microsoft 365 is a different product in many ways, from Microsoft Office, reference in the question. I don't use it myself, but I'm sure it has functional differences. – Giles Jun 14 '21 at 09:48
  • does not work, even if you put format cell as text, is does convert to scientific notation – serge Feb 24 '23 at 17:48
  • @serge, which version of Excel are you using? This question is about the desktop application, not the Office 365 web application. – Giles Feb 27 '23 at 20:34
  • @Giles, the MS Excel for Microsoft 365 MSO version 2301, is a desktop application – serge Mar 01 '23 at 12:28
2

If you want to make ALL numbers typed within a sheet NOT to appear in scientific format, you can consider creating a template & reusing it.

When you create the template, select the whole sheet and set the default number format for all cells to "Number".

mvark
  • 2,432
0

The only real answer is to store it as text.

  1. Paste the column in A.
  2. In B, =""&A1&""(two double quotes)

(adds quotes to it, forcing text)

If it's a CSV, store the number as quotes beforehand.

"1234", "1234"

Rob
  • 180
0

It looks like this is being rolled out gradually: https://insider.microsoft365.com/en-us/blog/control-data-conversions-in-excel

I had the following prompt once, but the functionality and option have disappeared since:

By default, Excel will perform the following data conversions in this file:

• Convert large numbers into scientific notation

Do you want to permanently keep these conversions?

[ ] Don't notify me about default conversions in .csv or similar files.

enter image description here

0

This appears to have finally been resolved. Posting this here in case others find this 12 year old question as I did.

If you go to Options -> Data you will find a section enabling you to control what automatic conversions are performed.

enter image description here

Fishcake
  • 263