一些但不是全部的Excel数字显示为一个date

我有一个很大的.xls文件。 有些数字显示为一个date。
31.08显示为31.aug
31.13显示为31.13(这就是我想要的所有列)
当我将31.aug格式化为数字时,显示为40768,00,我找不到将31.aug转换为31.08的方法。 我所能做的就是将31.aug重新格式化为d.mm,然后显示为31.08,当我尝试从31.08重新格式化为数字时,它显示为40768,00。 无法使用不同types的单元格格式来欺骗Excel。

你的区域设置如何? 有一些地区的短date由dd.mm.yyyy标识。 (例如爱沙尼亚语)。 也许如果你改变美国/英国的区域设置并重新粘贴数据,它将不会被改变。

我在这里做了一个小testing。 希望能帮助到你。

内部Excel将date存储为整数。 1900年1月1日。如果您input的东西,Excel解释为date,那么它将被转换为一个整数。 我想从这个angular度来说是没有回头路的。

在“国际”选项卡上的选项中有一个设置,您可以在其中定义小数点分隔符。 如果你设置为“。”,那么你的Excel应该接受30.12作为十进制数字而不是date。

正如其他人所指出的那样,Excel将一些数据解释为date而不是数字,这取决于您的区域设置。 为了避免这种情况,请尝试Tiago和Stema的回应,他们将根据您的区域设置进行工作。

要在发生大文件后修复问题而不重新input/重新导入数据,可以使用类似的方法

=DAY(B5)+MONTH(B5)/100 

将“date”转换回数字。 当你第一次input这个数据时,Excel仍然会把它显示为一个date,但是现在当你把它重新格式化为“数字”时,它会显示你最初input的值。

由于您的列似乎包含正确的数字和date之间的混合,所以您需要添加一个if()构造来分隔两个个案。 如果你还没有改变显示格式(即它仍然显示31.Aug),你可以使用

 =IF(LEFT(CELL("format";B7);1)="D";DAY(B7)+MONTH(B7)/100;B7) 

它检查格式是否是“D”格式。 如果您已将格式更改为数字,但知道所有正确的数据都低于40000,则可以使用

 =IF(B5>40000;DAY(B5)+MONTH(B5)/100;B5) 

如上所示,转到Control Panel - Region and Language - Advanced Settings - Numbers - and change the Decimal Symbol from "," to "." 祝你好运!

您正在粘贴的数据是否有可能是数据透视表。

例如,像你一样,我将大量数据复制到一个大的电子表格中。 我正在复制的数据来自另一个工作表,它是一个数据透视表。

如果我正常粘贴,一半会显示为数字,他们在源文件中,一半将显示为date,无缘无故,这使我疯狂。

如果我粘贴 – >值然而,他们将全部显示为数字,因为我不需要在目标文件中的透视function,这个解决scheme是好的。

所有你需要做的是格式单元格。

1,右键单击要插入数字的单元格。

2,然后点击号码,然后从号码菜单中select“常规”。

希望这会帮助未来的人有同样的问题。