【问题标题】:How to convert d/m/yyyy h:mm:ss to yyyyMMdd in Excel如何在 Excel 中将 d/m/yyyy h:mm:ss 转换为 yyyyMMdd
【发布时间】:2015-01-28 22:19:35
【问题描述】:

我想将 d/m/yyyydd/m/yyyyd/mm/yyyy 转换为 yyyyMMdd 格式在 Excel 中。原始值类似于 3/3/2014 8:00:00 am

如果所有日期的长度都相同,我可以使用左、中等来反转日期并截断时间。但是当我有三个不同长度的日期时,我该怎么做呢?

这适用于固定长度:=DATE(MID(A1;7;4); LEFT(A1;2); MID(A1;4;2))

【问题讨论】:

  • 使用FIND,找到/的位置,然后使用你的公式。
  • 你不能自己格式化单元格吗?
  • @LittleBobbyTables,也许这是我尝试的第一件事?
  • @BakedInhalf - 我们应该怎么知道?你从来没有提到你尝试过。
  • @LittleBobbyTables 我以为你做到了:)

标签: excel


【解决方案1】:

A1中的数据,B1中输入:

=TEXT(DATEVALUE(MID(A1,1,FIND(" ",A1)-1)),"yyyymmdd")

注意:

输入中的月份和日期必须按照 DATEVALUE() 函数的正确顺序。

对于像这样的数据:

2014 年 12 月 25 日上午 8:00:00

我会使用以下 UDF

Public Function INeedADate(s As String) As Date
    ary = Split(Trim(s), " ")
    bry = Split(Trim(ary(0)), "/")
    INeedADate = DateSerial(bry(2), bry(1), bry(0))
End Function


在这种情况下,单元格 B1 必须格式化为 自定义 > “yyyymmdd”

【讨论】:

  • 奇怪,我得到了#VALUE!
  • 来自 公式 或来自 UDF??
猜你喜欢
  • 1970-01-01
  • 2016-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-07
  • 1970-01-01
  • 2017-01-17
  • 1970-01-01
相关资源
最近更新 更多