【问题标题】:How do I import text into time format?如何将文本导入时间格式?
【发布时间】:2011-05-27 07:38:45
【问题描述】:

我有来自数据记录器的文本文件,格式如下

hh:mm, Data, Data

我需要导入 Excel。

我一生都无法弄清楚如何让 Excel 将 hh:mm 部分作为(24 小时格式)时间而不是文本导入。可能吗?如果没有,是否有任何直接的方法可以将一列 hh:mm 文本转换为 Excel 的时间格式? (我知道我可以写一个转换公式,但肯定有一些内置的吧?)

OS X 上的 Excel 2008

【问题讨论】:

  • 如果您只是将列格式化为导入后的时间会怎样?

标签: excel text time import excel-2008


【解决方案1】:

不确定是否有使用按钮的好方法,但是

=TIMEVALUE(A1)

A1 是你的日期应该可以解决问题。

【讨论】:

  • 谢谢。这看起来不错。我一直希望在已经很笨重的电子表格中避免更多的列。我很生气,因为 Excel 会正确导入日期,而不是时间。
【解决方案2】:

假设我有一个名为 Time.txt 的文件,其中有一列时间如下:

22:13
09:25
12:20

我想将它们读入一个 excel s/sheet 并将它们放在 A1 到 A3 范围内,并将它们格式化为hh:mm:ss。这段代码展示了如何实现这一点:

(注意:您需要添加对 Microsoft Scripting Runtime 的引用才能使其工作。在 VB 编辑器中:工具 > 参考 > Microsoft Scripting运行时)

Sub GetTimesFromFile()

Dim oFSO As New Scripting.FileSystemObject
Dim targetFile As Object
Set targetFile = oFSO.OpenTextFile("C:\Time.txt") //Change for your file path as appropriate

Dim cellCount As Long
cellCount = 1

Do Until targetFile.AtEndOfStream
    Cells(cellCount, 1) = targetFile.ReadLine
    Cells(cellCount, 1).NumberFormat = "hh:mm:ss" //Time format I want
    cellCount = cellCount + 1
Loop

End Sub

【讨论】:

  • 非常感谢。它肯定会进入我的笔记以备将来使用......但不幸的是,微软认为从 Mac Office 2008 中删除 VB 是合适的。它回到了 Office 2011,但我们还没有升级(它也在 Office 2004 中)。跨度>
【解决方案3】:

如果所有时间都被格式化为 hh:mm,那应该很简单。

A       B           C            D
22:15   =LEFT(A1,2) =RIGHT(A1,2) =TIME(B2,C1,0)

您在这里所做的只是获取文本(A 列)并分离小时(B 列)和分钟(C 列),然后使用 TIME 函数将它们重新组合在一起。

你甚至可以在一个公式中做到这一点:

=TIME(LEFT(A1,2),RIGHT(A1,2),0)

【讨论】:

    【解决方案4】:

    在导入后将列格式化为时间为时已晚,但在应用FROM TEXT 时应该可以作为导入的一部分。

    虽然未在链接中显示,但第 3 步(共 3 步)应该允许您将相关的列数据格式设置为常规,并且导入中午例如 0.5 显示为 12:00

    【讨论】:

      猜你喜欢
      • 2011-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多