Excel中的date格式为MM-DD-YYYY,但Excel识别为DD-MM-YYYY

我的电子表格中有一个date列没有正确sorting,因为有些date是MMDDYYYY HH:MIN格式,而另一些date列在DDMMYYYY HH:MIN格式,而Excel则全部识别为MMDDYYYY HH:MIN。 如何标准化? 如何让Excel将date识别为DDMMYYYY HH:MIN,并将MMDDYYYY HH:MIN(目前被视为DDMMYYYY)转换为?

我试图使用TEXT()将date转换为文本,但现在我卡住了。 DATE()不允许指定我从中转换的格式。

如上面的一些评论所述,计算机的区域设置可能会影响Excel处理date的方式,有时会引发难以解决的情况。

问题的第一个解决scheme是更改单元格的(date)格式; 据我所知,你会通过VBA影响单元格,最好是依靠VBA代码来确保一切都会好的。

你可以做一个简单的testing,看看date格式修改的行为如何:在列A中放置一些date,在列B中放置一些date(例如,单元格B1:“= A1”,单元格B2 = A2等)。 )并从VBA执行以下代码:

Range("A:A").NumberFormat = "mm-dd-yyyy hh:mm" Range("B:B").NumberFormat = "dd-mm-yyyy hh:mm" 

如果没有问题,你会看到在两个列中的不同位置的月份。 在这种情况下,您可能会依赖这种代码来确保date格式是您想要的。

如果这个testing没有成功通过,我build议你依靠文本而不是date来避免问题:将所有列的格式设置为文本(VBA中的.NumberFormat = "@" ),parsing给定的值(日,月,等等),将它们当作date计算,并在写入Excel时将它们转换回文本(之后,您可以做一些实验,看看将给定的单元格转换为date是否会提供所需的行为)。