我有来自数据记录器的文本文件,格式如下
hh:mm, Data, Data
我需要导入 Excel。
我一生都无法弄清楚如何让 Excel 将 hh:mm 部分导入为(24 小时格式)时间而不是文本。是否可以?如果没有,是否有任何直接的方法可以将一列 hh:mm 文本转换为 Excel 的时间格式?(我知道我可以写一个转换公式,但必须已经内置了一些东西对吗?)
OS X 上的 Excel 2008
我有来自数据记录器的文本文件,格式如下
hh:mm, Data, Data
我需要导入 Excel。
我一生都无法弄清楚如何让 Excel 将 hh:mm 部分导入为(24 小时格式)时间而不是文本。是否可以?如果没有,是否有任何直接的方法可以将一列 hh:mm 文本转换为 Excel 的时间格式?(我知道我可以写一个转换公式,但必须已经内置了一些东西对吗?)
OS X 上的 Excel 2008
不知道有没有一个好的方法可以用一个按钮来做到这一点,但是
=TIMEVALUE(A1)
A1 是您的日期应该可以解决问题。
如果所有时间都被格式化为 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)
在导入后将列格式化为时间为时已晚,但在应用FROM TEXT时应该可以作为导入的一部分。
尽管未在链接中显示,但第 3 步(共 3 步)应该允许您将相关的列数据格式设置为常规,并且导入中午例如0.5
显示为12:00
。
假设我有一个Time.txt
使用单列时间调用的文件,如下所示:
22:13
09:25
12:20
我想将它们读入一个 excel s/sheet 并将它们放在范围 A1 到 A3 中并将它们格式化为hh:mm:ss
. 此代码显示了如何实现这一点:
(注意:您需要添加对 的引用才能Microsoft Scripting Runtime
使其正常工作。在 VB 编辑器中:Tools > References > Microsoft Scripting Runtime)
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