【问题标题】:Changing String into Time将字符串更改为时间
【发布时间】:2019-08-14 09:04:59
【问题描述】:

我需要将 D 列中的字符串(例如 28/10/2018:01:51:29)更改为时间格式。

我试过了:
格式化单元格并进行我自己的格式化(dd/mm/yyyy:hh:mm:ss)
数据->文本到列

但都没有用

【问题讨论】:

  • 如果您的字符串在D1 中,您可以在新列中尝试=DATEVALUE(LEFT(D1,10))+TIMEVALUE(RIGHT(D1,8)) 吗?
  • 我已经尝试过类似的方法,当您将公式放入新的列弹出窗口显示并说公式有问题时
  • 您能分享您使用的确切公式吗? D 列中的所有字符串是否都遵循 dd/mm/yyyy:hh:mm:ss 格式?
  • 我已经使用了你的公式 =DATEVALUE(LEFT(D1,10))+TIMEVALUE(RIGHT(D1,8)) ,是的,D 列中的所有内容都是 dd/mm/yyyy(例如 28/10/2018:12:04:17)
  • 您的 Excel 版本是什么语言?

标签: excel timestamp string-to-datetime


【解决方案1】:

您的问题是日期和时间之间的冒号:。试试这个:

=TIMEVALUE(SUBSTITUTE(D1,":"," ",1))

这将返回一个数字,例如0.077418981,如果您将单元格格式设置为时间,Excel 可以将其解释为时间。如果您想跳过这一步并将时间视为字符串,请使用附加的TEXT 函数

=TEXT(TIMEVALUE(SUBSTITUTE(D1,":"," ",1)),"hh:mm:ss")

捷克语:

=ČASHODN(DOSADIT(D1,":"," ",1))
=TEXT(ČASHODN(DOSADIT(D1,":"," ",1)),"hh:mm:ss")

如果您的区域设置需要,您可能还需要将逗号 , 替换为分号 ;

=ČASHODN(DOSADIT(D1;":";" ";1))
=TEXT(ČASHODN(DOSADIT(D1;":";" ";1));"hh:mm:ss")

Translations

【讨论】:

  • 我误读了这个问题吗?根据评论“制作我自己的格式(dd/mm/yyyy:hh:mm:ss)”,我了解到 OP 也希望保留日期(2018 年 10 月 28 日)部分。否则,请参阅捷克语翻译并注意分号。
  • @BigBen,还不完全清楚。但是,第一行似乎是请求。我猜他的“自己的格式”是试图向 Excel 解释他的数据是什么格式?真的不知道。
  • 然而,SUBSTITUTE 函数将他的字符串变成一个可行的日期,不管他最终试图在哪里处理它:)
  • 要清除我的问题:我需要将 STRING 转换为 TIME(对于不清楚的问题,我不是母语人士,也不是 excel 专业人士)谢谢:)
猜你喜欢
  • 1970-01-01
  • 2023-04-02
  • 2021-11-19
  • 2017-04-08
  • 1970-01-01
  • 2022-11-04
  • 2017-12-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多