【问题标题】:Converting String to Date in Excel在 Excel 中将字符串转换为日期
【发布时间】:2013-05-13 11:19:35
【问题描述】:

我的日期字符串格式如下:“Tuesday, January 3, 2012”

如何在 Excel 2010 中将它们转换为日期格式?

提前谢谢你!

【问题讨论】:

    标签: excel date


    【解决方案1】:

    有效的方法可能取决于区域设置。如果您有美国区域设置,此公式将根据您在 A1 中的数据给出日期

    =TRIM(REPLACE(A1,1,FIND(",",A1),""))+0

    按要求的日期格式格式化

    这个版本应该适用于更广泛的范围.....

    =TRIM(MID(A1,LEN(A1)-7,2)&REPLACE(REPLACE(A1,LEN(A1)-7,3,""),1,FIND(",",A1),""))+0

    试试这个应该适用于意大利语设置的版本 - [我假设数据是英文的,如图所示,例如月份是一月、二月等]

    =DATE(RIGHT(A1;4);SEARCH(MID(A1;FIND(",";A1)+2;3);"xxjanfebmaraprmayjunjulaugsepoctnovdec")/3;MID(A1;LEN(A1)-7;2))

    【讨论】:

    • 由于我使用的是意大利语版本,因此我使用的是您发布的第二个版本,但结果是#VALUE。具体是返回#VALUE的FIND函数
    • 修复了! FIND 函数的问题是我错误地用分号替换了逗号。 #VALUE 问题是由“+0”引起的。这样做的目的是什么?谢谢你的回答顺便说一句
    • 这个想法是将日期转换为像 3 January 2013 [有效日期格式] 这样的文本字符串,然后 +0 将其转换为实际日期 - 如果这不起作用,它可能因为一月需要是意大利的等价物-gennaio? - 让我添加一个适合你的公式......
    • 我添加了一个适用于意大利区域设置的公式
    【解决方案2】:

    DATEVALUE 工作表函数可以将文本转换为日期,但它似乎不接受“2012 年 1 月 3 日,星期二”。但它确实接受例如“2012 年 1 月 3 日”因此,如果您将字符串操作为该格式,您应该能够使其工作。

    想一想,像DATEVALUE 这样的数据功能通常取决于您的日期显示设置,所以如果您在世界其他地方使用不同的显示设置,那么在英国伦敦对我有用的可能会有所不同。

    【讨论】:

    • 感谢 Barry,我可以将日期设为“2012 年 1 月 3 日”格式,但由于我使用的是意大利语版本的 excel,因此它不能作为 DATEVALUE 函数的好日期=\ 有没有办法翻译它或让它读取外国日期?
    猜你喜欢
    • 2021-07-14
    • 1970-01-01
    • 1970-01-01
    • 2011-09-06
    • 1970-01-01
    • 1970-01-01
    • 2014-09-12
    • 1970-01-01
    相关资源
    最近更新 更多