在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.