2011-02-04 305 views
1

我正在将美国网页上的数据粘贴到Excel表格中。欧洲的Excel无法理解美国日期....所以我将它粘贴为文本。将美国日期(文本)转换为欧洲日期(日期)的Excel转换

美国和欧洲日期之间的区别在于日期和月份的顺序不同。我如何从“美国文本日期”到“欧洲”Excel可以理解的实际日期?将它作为日期读取不起作用,所以YEAR(),MONTH(),DAY()将不能在本地文本字符串上工作。一些字符串转换必须先完成。

第三栏只是为了显示问题。这是MONTH函数在列“A”中的文本上调用的结果。它正在考虑当月的一天,因此在到达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 

如果没有“转换函数”,则一个解决方案可以是分裂米/ d/yy的三列和创建从一个日期。如果是这样,我需要一些帮助将文本分成日,月和年。

更新与答案....拉撒路想出了一个工程。首先,将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

假设你的第一个日期在单元格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)) 
+0

完美!只需要翻译成我的欧洲版本。其他函数名称和我必须使用分号;而不是逗号, – Tillebeck 2011-02-07 08:56:38

1

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

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

然后你可以编号r格式掩盖这个,因为你需要

+0

感谢您对dateavalue函数的输入。但是在这种情况下,答案的其余部分不会成立,因为日期和月份(年份总是2)都会有一个或两个整数。使用RIGHT功能将从日期后写入同一单元格的时间中选择字符。还是非常感谢。如果拉撒路没有准备好发布防弹转换线,我本可以用它来激发“最终”的线路;-) BR。安德斯 – Tillebeck 2011-02-07 09:01:07

-1

您需要使用文本到列来将初始美国值分成三个分量。然后,你会不寒而栗,让日,月,年完成工作。通过使用Concatenate重新组装这三个组件,并使用Rept()命令将前导零添加回需要的位置。

PKL100