在Excel中添加15位以上的数字


12

我想在Excel单元格中添加20多个数字。

单元格的当前格式是常规格式,它将数字转换为指数格式。我尝试使用数字格式和会计,但是当我输入15位以上的数字时,它将转换为0。

当采用常规格式时,建议采取哪些步骤阻止Excel将数据转换为20位数字的指数格式?

示例:12345678901234567890

Excel将其转换为1.23457E+19通用格式。

如果不'先使用值,还有其他方法可以保持值不变吗?


我曾经在金融应用程序上工作。在计算时,我不得不暂时存储8位数x 8位数的乘积。8位数不是很常见,对吧?
— 野口健二

请告诉我们您需要这样做的原因。这听起来像一个XY问题
— 扬Doggen

当前版本的excel中没有其他方法。
— Firee

在Excel 2016中仍然是相同的问题!
— 海盗X

Answers:


13

如果列太窄,某些数字将以指数格式显示,您可以通过增加列的宽度来解决此问题。

但是,Excel中很大的数字以浮点格式存储,因此无法在Excel中精确表示。您也许可以使用单元格格式来覆盖它们的显示,但仍会使用浮点运算来存储和处理真实值,但存在其固有的局限性。

如果需要以更高的精度执行计算,则需要一个支持任意精度算术的应用程序。


通过增加列的宽度以及仅数字形式的数字格式
— user111921 2012年

1
@ user111921,正确。如果数字很大,则无论列有多宽,它都以浮点格式存储,并且必须以指数形式显示。
— Mike Fitzpatrick'1

NUmber格式是常规数字,没有浮点。对于15位数后的常规数字范围,值将更改为指数格式
— user111921 2012年

1
@ user111921,正确。如果您在Excel中输入一个大整数,它将被转换为浮点数(但会损失一些精度)并以指数形式显示。除非它们特别支持任意精度算术,否则在Excel和大多数其他应用程序中这是不可避免的。
— 迈克·菲茨帕特里克

确切地说,Excel 2010不支持超过10位数字的整数。输入一个11位数字,或输入9,999,999,999并在公式中加一个,最后得到一个浮点数。您可以将其格式化为整数,但仍然会因为舍入错误而丢失您的低位数字。
— 艾萨克·拉比诺维奇

6

当您不需要使用这些数字进行计算时,可以将它们视为文本,请参见其他答案。当您需要使用它们进行计算时,这将变得很困难,因为Excel仅包含15个有效数字。我知道的可能性是:

  1. 将数字分成2个(或更多)单元格。将一部分数字放在一个单元格中,其余部分放在另一个单元格中。结果是您需要开发自己的公式进行计算。

  2. 另一种解决方案是使用加载项。对于一项免费的研究,请参阅http://www.excel-ticker.com/calculation-of-very-large-numbers-in-excel-part-5-add-in/中提到的文章


5

原因是可以存储在浮点变量中的精度有限。要获得完整的解释,您应该阅读David Goldberg发表于1991年3月的《计算机调查》上的论文“ 每个计算机科学家都应该知道的有关浮点运算的知识 ”。

另一个更易于访问的网站是Chip Pearson的网站。

在Excel中,浮点型是Double其为IEEE 64位(8字节)的浮点数。这些可以显示15位精度(很好,请参见MSDN文章Excel Worksheet和Expression Evaluation)。


0
  1. 只需从手机中复制您的号码
  2. 将另一个单元格(复制目标单元格的位置)格式化为文本
  3. 双击目标单元格并将其粘贴。

0

为了创建网站的唯一编号,我必须要输入大量的编号。

最后,我通过使用级联将单元格加在一起来创建大量数字。例:

OL  2890000000  0000004 OL28900000000000004
OL  2890000000  0000005 OL28900000000000005
OL  2890000000  0000006 OL28900000000000006
OL  2890000000  0000007 OL28900000000000007
OL  2890000000  0000008 OL28900000000000008

0

您可以通过以下两个步骤解决问题:

1)根据需要将数字分成多列。确保格式为TEXT。

2)使用FORMULA> TEXT> CONCATENATE将列合并为一列,您应该获得所需的结果。

在任何情况下,例如对于需要运行数字(例如序列号)的情况,都应将数字分开,然后先以GENERAL格式将其运行,然后再组合。


0

我从数据库中提取条形码时遇到了同样的问题,最适合我的解决方案是将数字传递给excel作为显示文本的公式。

例如,我传递的是=“ barcode”,而不是仅传递条形码,以便excel将'a'解释为一个字符串,其中显示了整个数字,而不是'解决方案中的任何其他字符。这样,您可以轻松复制和粘贴数字。

这是我的SQL函数:

ALTER function [dbo].[ConvertBarcode](@BARCODE varchar(40))
returns varchar(40)
as
begin
return '="'+@BARCODE+'"'
end

编码愉快!


0

您可以在Excel中正确存储整数的15个最高有效数字(我的版本是Excel 2010)。

如果在一个单元格中输入999,999,999,999,999,并在其下面的单元格中添加1,则它正确显示1,000,000,000,000,000,但是尝试再添加1,您会再次得到1,000,000,000,000,000。

1,000,000,000,000,000至1,000,000,000,000,005显示为1,000,000,000,000,000 1,000,000,000,000,006至1,000,000,000,000,015显示为1,000,000,000,000,010 1,000,000,000,000,016至1,000,000,000,000,025显示为1,000,000,000,000,020

您期望中点舍入到哪个值。


-1

为了将多个14位数字添加到Excel单元格,请按照下列步骤操作:

  1. 复制具有此类编号的数据;
  2. 将其粘贴在记事本中,然后单击“另存为”,然后将其命名为.txt文件;
  3. 打开一个Excel工作表,转到“数据”,然后单击“来自Txt / Csv”。(请参阅链接中的图片);
  4. 选择已保存的.txt文件;
  5. 将出现一个弹出窗口,然后在该对话框中单击“加载”按钮。

Excel中的快照


-2

如果您只是输入信息而不必进行任何数学或计算,则将单元格的格式设置为“文本”。不知道为什么它不能以数字格式工作。


-2

或者,您可以选择一个所有单元格都通用的数字,然后用一个不存在的字母替换它。复制粘贴到Excel中会删除重复项并进行排序,然后再复制并粘贴到Word中,在其中您将字母替换回通用数字,例如:

1300000000029577 13z0000000029577

1300000000029578 13z0000000029578

1300000000034748 13z0000000034748

1300000000086943 13z0000000086943


您可以将其转换为Number并增加列
— yass
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.