将小时分秒的Excel文本字符串转换为时间格式

将小时分秒的Excel文本字符串转换为时间格式,excel,Excel,我有一个Excel 2010电子表格,其中有文本格式的时间,我需要将其转换为时间,以便对其进行平均值等。 例如,在单元格A1中,它可以给出结果的变化,例如 123小时15分04秒 或 12小时49分10秒 一直到 00小时00分00秒 目前,我的大脑已经疲惫不堪,无法想出一种方法来自动将文本转换为时间,因此我们不必每次都重新键入,因为文本字符串是数据库的输出报告,因此无法更改其格式。 我们非常感激您的帮助 您可以使用 MID(文本、开始位置、字符数)检索时/分/秒 FIND(子字符串,字符串,

我有一个Excel 2010电子表格,其中有文本格式的时间,我需要将其转换为时间,以便对其进行平均值等。 例如,在单元格A1中,它可以给出结果的变化,例如 123小时15分04秒 或 12小时49分10秒 一直到 00小时00分00秒

目前,我的大脑已经疲惫不堪,无法想出一种方法来自动将文本转换为时间,因此我们不必每次都重新键入,因为文本字符串是数据库的输出报告,因此无法更改其格式。 我们非常感激您的帮助

您可以使用

  • MID(文本、开始位置、字符数)
    检索时/分/秒
  • FIND(子字符串,字符串,[start_position])
    搜索“小时/分钟/秒”,知道从哪个位置检索数据
  • =VALUE(TRIM(CLEAN(A1)))
    将字符串转换为数字
我看到输入看起来像HHH小时MM分钟SS秒,所以应该很简单

这将是小时数的示例:

=VALUE(TRIM(CLEAN((MID(A1,(FIND("hours",A1)-4),3)))))

输入:123小时45分40秒输出:123

我发现了一些类似的东西,它包含括号,但非常简单

我试着复制并粘贴YouTube上的文字记录,只要23分钟就可以了

23:59

但24:00之后就变得很时髦了

它让我选择一个自定义的数字格式,它匹配我以前的

所以我把它放在引号中的输出格式中 =文本(A1234,“h:mm”)

它最终给了我想要的

24:01等


我不知道怎么把数字变成。。。Excel格式?

如果我正确理解了所有需要转换的值,包括文本小时、分钟和秒,您能提供一些示例数据吗?尽管使用Excel函数可能是可行的,但在我看来,更好的方法是编写自己的vba函数并调用该函数来转换数据。但是,不确定您是否想在vba中编写一些东西,或者您正在寻找纯Excel解决方案。请记住,在内部,Excel将日期存储为整数(从1900年1月1日开始计算),时间存储为一天的比例。您可以扩展@Alexander给出的答案,方法是使用
TIME
函数将三个值(小时、分钟和秒)转换为Excel的内部格式,以计算平均值、差异等。当然,Excel的格式可以,用于以适当的格式显示其内部值。感谢您的快速响应。我很难将mid、find和value放在一起。如果带有文本字符串的单元格是A1,那么实际使用的公式是什么?很抱歉,我很痛苦,但我今天就是想不清楚。一定是花粉<代码>=值(修剪(中间(文本,(查找(“小时”,A1)-4),3))@NeilHall它看起来像这样。首先找到“hours”子字符串,实际数字在子字符串前面,因此从
find
返回的值中减去4(1表示空间3表示小时数)。然后使用
MID
将数字作为字符串进行转换。@alexandrucimpanu当我使用上述公式中的确切措辞时,结果只是#Name?我知道我一定是做错了somewhere@NeilHall确切的公式在答案中,如果你没有得到正确的结果,我建议你分解它,看看到底是什么错误。