Excel:为什么从文本文件粘贴 9.559E+08 会产生 9.56E+11?

Excel:为什么从文本文件粘贴 9.559E+08 会产生 9.56E+11?

我从文本文件中粘贴此内容:

9.559E+08

到 Excel 中。

令我惊讶的是,Excel 将其显示为:

9.56E+11

以下是屏幕截图: 在此处输入图片描述

为什么?

UPD:粘贴9.55E+8产品在此处输入图片描述(预期)。粘贴9.551E+8产生在此处输入图片描述(意外)。

UPD1:这是一个屏幕截图,显示文本文件中的数字(右侧)和粘贴后 Excel 中的对应数字(左侧):

在此处输入图片描述

答案1

逻辑和实验表明,从 +8 跳到 +11 的唯一方式是 Excel 将(如图所示)解释.为千位分隔符。

如果是,那么在未损坏的 Excel 安装中,所有示例都是有意义的。尤其是“格式错误”的数字(在上述情况下),例如(看似)两位小数的版本给出“+8”,而类似但(看似)三位小数的版本给出“+11”。

也就是说,它将9.559+08九千五百五十九视为一位数加小数,因此 +08 变成了 +11。

为什么?这些评论肯定涵盖了常见的嫌疑。从错误的角度看,人们可能会说这里确实有问题。从正确的角度看,人们会说“嗯,实际情况是它正在这样做,所以我必须找到原因。”

显然,这将会是一个微妙之处,但这个过程是 Excel 接受您的粘贴,然后决定如何处理粘贴的材料。鉴于它是,或者至少在 Excel 看来是,所有与数值相关的字符,它会尝试将其解释为数值。为此,它会根据操作系统的设置对它们进行测试。通常我们只检查两个分隔符,但每个相关设置都会影响这一点,因为如果 Excel 发现看似直接匹配,它会在解释字符串时忽略简单的分隔符设置。

一旦它确定它是一个数字,并且也许重要的是“这种数字”(无论它在一般意义上是什么,但与操作系统设置中的数字格式字符串相匹配(在这种情况下是科学计数法)),它就会回到自己,了解如何解释它的值以进行一般工作,并查看它的设置,包括关于分隔符的常规文件|选项设置和它发现应用于单元格的特定数字格式字符串,如果设置是“常规”,则使用它自己的首选默认值。

此时(而不是之前),它会决定如何使用分隔符。即如何使用它们来显示单元格,而不是如何在上述步骤中使用它们。

因此,如果 Excel 运行正常(始终存在安装缺陷的可能性),则必须...没有其他可能性......必须找到一个胜过操作系统简单分隔符设置的操作系统设置。

即使这里发生了一些非常奇怪的事情(如“不常见”),比如安装了一些语言包,并带来了不寻常的格式字符串,这些字符串通常不会遇到,但这仍然只是在最后显示已经决定的值时才会产生的影响。所以它不会改变值,只会显示得很奇怪。图片显示了值的变化。发生这种变化是因为 Excel 认为该值不是您所决定的,并且该决定控制了它在电子表格中的引入,现在,在决定之后,它显示得很奇怪。正是关于导入字符串的值的决定把事情搞得一团糟。

(在这种问题中,人们常常会错误地解释图片,因为发布者张贴的图片中的单元格是右对齐的,因此如果所有数字都是数字,则文本看起来与数字相同,这是一种不幸的古怪现象,但那些图片并没有看到值明显改变,而这个确实改变了。所以这种事情在这里不是问题。)

仔细检查操作系统设置中的所有数字格式。那里的某些东西,显然是某些微妙的东西,才是罪魁祸首。

相关内容