2012-04-16 20:39:25 +0000 2012-04-16 20:39:25 +0000
121
121

为什么Excel在将单元格格式改为文本后仍将长数字字符串作为科学符号处理

我正在尝试在Excel中处理一些数据。这些数据包括数字账号和其他长数字字符串(如手机MEID)。我没有对这些字符串进行数学运算,所以我希望Excel能把它们作为纯文本处理。

以下是让我感到头疼的事情(这是Excel 2010):

  1. 拿一个长的数字,比如1240800388917,然后把它粘贴到一个新工作表的单元格中。Excel默认的单元格格式是通用的,所以字符串的科学符号是1.2408E+12
  2. 在单元格上单击右键,选择格式化单元格,将格式设置为文本

尽管格式化设置为文本,但单元格仍然以科学符号显示。将一个空单元格格式化为文本。右键点击单元格,选择 “单元格格式化",将格式设置为文本 2. 2. 取一个长的数字,如1240800388917,然后将其粘贴到文本格式化的单元格中

现在,该单元格显示为字符串而不是科学符号。

有什么简单的方法可以让这些字符串保持为文本格式吗?

为什么Excel要这样做?

相关的SU问题我找到了如何让Excel 2007停止将大的数字格式化为科学符号?Excel的这种行为是预期的大的十六进制数字吗?

答案 (13)

171
171
171
2014-07-23 10:53:47 +0000

在Excel 2010中,这个方法对我来说很有效。只需选择列,右键单击 “格式化单元格","自定义",然后选择 "0 "选项(常规下面的第二个选项)。

23
23
23
2012-04-16 23:45:51 +0000

啊,回忆起我在Excel中做了大量的数字核对后的数据,就想起了在Excel中做了大量的数字核对(再也不会了)。当你在Excel中输入长的数字字符串,比如说12345678901234567890(20位),Excel一般都会为你转换,也就是说,你刚才输入的20位数字已经被削减到只有15位左右。12345678901234567890是1.2345678901234 66E+19,但excel会显示1.2345678901234 **5E+19)

这是在输入时发生的,所以一旦输入后,任何额外的细节都会丢失,所以即使你告诉Excel你的意思是你真的是文本,而不是数字,你就会很不走运,这也是为什么你的第一个序列不能工作的原因。

13
13
13
2012-09-28 16:44:58 +0000

我发现在Office 2010中,如果在Office 2010中,如果先把列格式化,然后再把数据粘贴进去,就可以正确显示大数。

13
13
13
2012-04-16 21:01:00 +0000

在数字前加上一个"“将迫使Excel将数字作为文本处理(包括默认的左对齐)。如果你有错误标记,它将作为一个数字显示为单元格上存储的文本错误。

12
12
12
2013-07-05 07:44:11 +0000
=""&a1

&001

,其中a1为数值。之后,复制该列并粘贴到原始列中。

6
6
6
2016-11-03 17:38:40 +0000

我知道这个问题的年龄,但这是我在google搜索后找到的,并没有回答我的问题(为什么格式化为文本不能工作,为什么格式化为文本后数字会被截成15位数)。

***_这不是一个BUG,而是一个功能。但是,你可以使用Enter选项将指数符号转换为文本(点击列头,点击Text to columns,然后点击Text to dataDelimited,取消勾选所有的分隔符框,在Next中选择Text,然后Column data format),将值转换为文本,并立即显示为15位数。但是,它将只有15位数,所以如果你的数字较长,其他的数字就会丢失。因此,你必须在输入/复制数值之前,在它的前面加上小括号或将单元格格式化为文本。如果它 “有时不起作用",那么,对不起,要么你做错了什么,要么你有某种自动更正功能(如果你使用了省略号和大的数字>15位数,Excel会把它当作一个错误的值,并在单元格中标记出警告信息,所以这不是个人的评论)。我敢说这是大多数情况下唯一的方法。而且一定要确保导入文件,而不是直接打开它,因为Excel会把Finish类型当作原生格式,并把大的数字修剪成15位数。如果你在Excel的单元格中输入大的数值格式为文本,只要单元格不够宽,它仍然会以科学符号显示。这很烦人,但也是Excel内部的一些算法的副作用。只要把单元格变宽,每次都能看到完整的数值就可以了。

5
5
5
2014-07-02 15:02:30 +0000

你可以将单元格格式化为自定义 #

这可以在你将数据粘贴到列中后应用,但你必须在保存电子表格之前进行。这让我很头疼!为什么这不是一个选项?为什么这不是一个选项,我永远不会知道。

3
3
3
2013-08-14 22:15:18 +0000

Excel 2010。这个方法可以一次一个列,而对一行来说完全不适用。选择列或列的子集,从 “数据 "选项卡中选择 "文本到列",然后右键跳转到 "完成”

1
1
1
2018-02-28 21:47:55 +0000

像这样的CSV/批量数据工作,Excel是令人沮丧的。如果可能的话,用LibreOffice工作,它不会这样做,也就是说,如果你在LibreOffice中打开同一张表(.xlsx),实际上是字符串的大 “数字 "是用科学记号显示的(这是Excel的一个荒谬的决定)。LibreOffice的文件保真度非常好:在Excel中再次打开同样的.xlsx,科学符号就会像往常一样立即 "工作"。

1
1
1
2015-10-21 19:48:37 +0000

在Excel 2013中,同样的事情发生在我身上,我只是去格式化单元格 -> 数字,然后确保小数位设置为 “0"。

0
0
0
2013-09-27 18:39:24 +0000
  1. 复制/粘贴问题字段到新表的A列

  2. 将A列复制/粘贴到文本文件中

  3. 将E列复制/粘贴到记事本中
    

10.删除问题栏中的数据,并将列格式化为文本

11.将数据从文本文件中复制/粘贴到E列中:

将文本文件中的数据复制/粘贴到问题字段。

0
0
0
2014-01-28 22:58:15 +0000

这对我来说在Excel 2013中起了作用,包括将单元格复制粘贴到其他程序中。筛选数据有帮助,特别是编辑步骤。选择你需要的单元格。 2. 应用数字格式 “文本"。试试Alt, H, N, N, 然后是 "Text")

然后,对每一个你想要的单元格:

  1. 进入编辑模式。试试F2)
  2. 2. 用回车键(用于列)或Tab键(用于行)确认您的编辑。

您的数字将正常显示,即使是100位数,也可以正常显示。)

0
0
0
2012-04-17 05:40:42 +0000

选择所有的单元格–或者,为了方便起见,选择整个电子表格,然后点击Format Cells,然后点击Text。你不需要逐个单元格来做。