Excel 2010 - 将美国日期更改为英国格式

Car*_*phy 7 excel date-format

我导入了一个包含2个长列日期的CSV文件.这些日期采用美国格式Aug/28/2013,我希望它们采用标准英国dd/mm/yyyy格式.

我尝试将单元格格式化为美国日期,然后将它们转换为仅数字格式,以及日期格式框中的各种其他排列,但没有成功.

谁能让我摆脱这些糟糕的美国约会呢?

cmb*_*ley 16

不使用公式的另一种解决方案:

  • 选择相关列
  • 选择数据→文本到列...
  • 选择"分隔"并单击 Next
  • 取消所有分隔符并单击 Next
  • 选择数据列格式"Date:MDY"并单击 Finish

现在应将日期转换为英国日期.

  • 我是唯一一个对这种技术毫无作用的人吗? (2认同)

小智 5

问题在于,当日期小于13时,Excel可以将美国日期解析为英国日期。这种情况下,Excel会将其转换为本地化的英国序列号(日期)。

因此,2014年3月19日显然是美国的3月19日。但是05/03/2014模棱两可,因此Excel会将其解析为3月5日(而不是美国5月3日)作为本地日期格式。任何公式都必须检查Excel是否已将美国日期存储为英国日期。英国日期将以数字形式存储在Excel中。

=IF(ISNUMBER(A2),DATE(TEXT(A2,"yyyy"),TEXT(A2,"dd"),TEXT(A2,"mm")),DATE(RIGHT(A2,4),LEFT(A2,FIND("/",A2)-1),MID(A2,FIND("/",A2)+1,2)))
Run Code Online (Sandbox Code Playgroud)

(对于A2单元格中的美国日期,PC日期为dd / mm / yy)。

如果ISNUMBER为true,则美国日期看起来像英国日期,并且Excel已将其序列化为数字。因此可以将日期设置为文本格式,然后再次返回到日期。注意day被传递到第一个DATE函数的month参数以执行转换。如果ISNUMBER为false,则将其作为字符串存储为Excel不会转换大于12个月的日期字符串。因此,请使用字符串函数将其拆分为DATE函数。


Jer*_*rry 2

我假设您收到的日期被格式化为文本,并且简单地将其格式化为日期不会改变任何内容。您可以在该日期运行以下公式:

=(MID(A1,FIND("/",A1)+1,FIND("/",A1,FIND("/",A1)+1)-FIND("/",A1)-1)&"-"&LEFT(A1,FIND("/",A1)-1)&"-"&RIGHT(A1,4))*1
Run Code Online (Sandbox Code Playgroud)

如果你得到数字,你只需要把它的格式设置为dd/mm/yyyy就应该很好了。