【问题标题】:Convert Text to Date in Excel ProblemsExcel问题中将文本转换为日期
【发布时间】:2018-07-19 08:04:16
【问题描述】:

所以我打开 excel,在 G2 中输入:2016 年 2 月 12 日 01:09:28 PM UTC

然后在任何其他单元格中尝试以下公式:

=IFERROR(DATEVALUE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(LEFT(G2,11),"Dec",12),"Nov",11),"Oct",10),"Sep",9),"Aug",8),"Jul",7),"Jun",6),"May",5),"Apr",4),"Mar",3),"Feb",2),"Jan",1))+TIMEVALUE(MID(G2,13,11)),"Error")

我试图让它显示为 2/12/2016 13:09

但它给了我我的错误。什么都试过了,还是不行??

非常感谢大家

【问题讨论】:

  • 它在哪里“失败”并产生您的自定义“错误”.message? (使用“公式”选项卡下的“评估公式”功能对公式进行逐步评估)。当我将其粘贴到我自己的 Excel 中时,您的公式会产生正确的结果...
  • 这是在黑暗中的一个镜头,但您是否确保更新您的分隔符设置,以便使用逗号而不是分号来分隔公式的各个部分? (因为您在个人资料中将南非列为您的位置,我的意思是)
  • 我把它放在 G2 中以便于追踪,=DATEVALUE(SUBSTITUTE(LEFT(G2,11),"Feb",2))+TIMEVALUE(MID(G2,13,11) ),我做了一个跟踪,似乎“二月”是问题所在。我得到#VALUE。如果我将其更改为 2 月,那么我会遇到 #NAME 问题。
  • 作为测试:如果输入 =DATEVALUE("1/2/2018") 会得到什么?你得到的是 1 月 2 日 (43102) 还是 2 月 1 日 (43132)?
  • 如果我使用 =TEXT(35,"mmm") 我得到二月如果我使用 =TODAY() 我得到 2018/07/19 如果我使用 =DATEVALUE("1/2/ 2018") 我得到#VALUE!

标签: excel excel-2010


【解决方案1】:

简答:

使用以下公式:

=DATE(MID(A1,8,4),MONTH(1&LEFT(A1,3)),MID(A1,5,2)) + IF(MID(A1, 22,2) = "PM", TIME(MID(A1, 13, 2), MID(A1, 16, 2), MID(A1, 19, 2)) + TIME(12, 0, 0), TIME(MID(A1, 13, 2), MID(A1, 16, 2), MID(A1, 19, 2)))


长答案:

虽然没有必要,但最好将时间和日期分开 用于数据操作。

我建议使用隐藏列,这样可以使您的日期很好并且整齐地分开,而且还可以帮助我解释答案,而不仅仅是粘贴一个巨大的公式:

假设您的文本信息始终具有相同的格式 "Mon"/dd/yyyy hh:mm:ss AM/PM UTC

在 B1 单元格中,我们将粘贴我们的日期

=DATE(MID(A1,8,4),MONTH(1&LEFT(A1,3)),MID(A1,5,2))

非常不言自明,我们将提取日期格式的各个部分并将其应用于它们。唯一的技巧部分是使用MONTH()函数将月份字符串转换为实际的月份格式。


现在是时候了,有点棘手

让我们尝试在 C1 中解析它:

首先,我们需要实现一个 IF 函数,它将 AM/PM 格式转换为 24 小时格式,然后我们将使用字符串函数,类似于上面的日期,将数据提取到我们的 TIME() 函数.

=IF(MID(A1, 22,2) = "PM",  TIME(MID(A1, 13, 2), MID(A1, 16, 2), MID(A1, 19, 2)) + TIME(12, 0, 0), TIME(MID(A1, 13, 2), MID(A1, 16, 2), MID(A1, 19, 2)))

最后但同样重要的是,我们将在 D 列中粘贴我们的结果。 首先确保您的格式正确设置为您的预期输出:

然后我们将两个数据字段简单地相加:

=B1 + C1

产生预期的结果:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多