我有一个数字,它是 Excel 电子表格 A 中某个单元格的计算输出。当我复制此单元格并将其作为值粘贴到在 Excel 的另一个实例中打开的电子表格 B 中时,一些小数位神秘地消失了。我对此感到惊讶,因此我将电子表格 A 中的值复制并粘贴为值,然后将此值从 A 复制并粘贴到 B,但它仍然发生了变化。
在电子表格 A 中,该值为:
2258.07102745522
当复制并粘贴到电子表格 B(另一个实例)时,该值为:
2258.071027
以前从未遇到过这种情况,而且我经常使用 Excel。这是什么原因造成的?
答案1
如果您在不同之间复制实例Excel(而不仅仅是不同)工作表或者文件),它们不认为彼此是同一个程序,而是通过 Windows 的剪贴板进行简化交互。
对于此类传输,完整的 Excel 单元格信息(格式、数字、公式、颜色等)将被哑文本替换,然后粘贴为哑文本。此文本反映了您看在单元格中,而不是底层 Excel 所知道的单元格中的内容;因此显示的数字是相关的,与文本片段的潜在格式相同(例如,格式化为显示“24 h”的数字 24 在粘贴时变为文本“24 h”)。
您可以通过在同一个实例中工作来避免这种情况(这会产生其他后果,例如,最后打开的文件会覆盖所有文件的 Excel 范围设置......)
答案2
编辑-已解决
我发现,如果我在会话 A 中格式化单元格以显示所有小数位,然后将该数字从 A 复制到 B,则所有小数位现在都会出现在 B 中。
这在直觉上确实是有道理的,因为您粘贴到会话 B 中的只是一个愚蠢的数字,并且它大概会在此基础上仅复制可见的小数。
这似乎是一个非常罕见的例子,在 Excel 中,格式除了美观之外还有其它原因。