Excel将美国日期(文本)转换为欧洲日期(日期)

时间:2011-02-04 12:21:33

标签: string excel date

我将美国网页上的数据粘贴到Excel工作表中。欧洲Excel无法理解美国日期....所以我将其粘贴为文本。

美国和欧洲日期之间的差异是日期和月份的顺序不同。如何从“美国文本日期”到“欧洲”Excel可以理解的实际日期?读取它作为日期不起作用,因此YEAR(),MONTH(),DAY()将不适用于本机文本字符串。必须先进行一些字符串转换。

第三栏是为了显示问题。这是在“A”列中调用MONTH函数的结果。这是一个月的一天,因此到9月13日时会出错。

TEXT (from US web)       EU date (real date)            MONTH(A1)
9/8/10 10:03 PM          8. Sep 2010                    8
9/9/10 10:03 PM          9. Sep 2010                    9
9/10/10 10:03 PM         10. Sep 2010                   10
9/11/10 10:03 PM         11. Sep 2010                   11
9/12/10 9:40 PM          12. Sep 2010                   12
9/13/10 9:40 PM          13. Sep 2010                   ERROR
9/14/10 9:40 PM          14. Sep 2010                   ERROR
9/15/10 9:28 PM          15. Sep 2010                   ERROR

如果没有“转换功能”,那么解决方案可能是将m / d / yy拆分为三列并从中创建日期。如果是这样,我需要一些帮助,将文本分成日,月和年。

更新答案.... Lazarus提出了一个有效的方法。首先,将A列中的文本拆分为年,月和日。然后结合他们,例如。使用DATE函数

  • 年:MID(A2,FIND("/",A2,FIND("/",A2,1)+1)+1,FIND(" ",A2,1)-FIND("/",A2,FIND("/",A2,1)+1)-1)
  • 月:MID(A2,1,FIND("/",A2,1)-1)
  • 日:MID(A2,FIND("/",A2,1)+1,FIND("/",A2,FIND("/",A2,1)+1)-FIND("/",A2,1)-1)

4 个答案:

答案 0 :(得分:4)

假设您的第一个日期在单元格A2中,则以下内容将从美国转换为欧洲结构。

=DATE("2000"+MID(A2,FIND("/",A2,FIND("/",A2,1)+1)+1,
 FIND(" ",A2,1)-FIND("/",A2,FIND("/",A2,1)+1)-1),
 MID(A2,1,FIND("/",A2,1)-1),MID(A2,FIND("/",A2,1)+1, 
 FIND("/",A2,FIND("/",A2,1)+1)-FIND("/",A2,1)-1))

答案 1 :(得分:1)

您可以尝试使用Excel的DATEVALUE()函数将文本字符串转换为实际的Excel日期值

=DATEVALUE(MID(A1,4,2)&"/"&LEFT(A1,2)&"/"&RIGHT(A1,2))

然后你可以根据需要进行数字格式掩码

答案 2 :(得分:0)

=((MID(A1,(SEARCH("/",A1,1)+1),((SEARCH(RIGHT(A1,4),A1,1)-1)-(SEARCH("/",A1,1)+1))))&"/"&LEFT(A1,(SEARCH("/",A1,1)-1))&"/"&RIGHT(A1,4))+0

答案 3 :(得分:-1)

您需要使用text to columns将初始USA值拆分为三个组件。然后你就会把日,月,年完成工作。使用Concatenate重新组装这三个组件,并使用Rept()命令在需要时添加前导零。

PKL100