如何将文本导入时间格式?
我有一个像这样的格式从数据logging器的文本文件
hh:mm, Data, Data
我需要导入到Excel中。
我不能为我的生活弄清楚如何让Excel导入hh:mm部分作为(24小时格式)时间而不是文本。 可能吗? 如果没有,是否有任何直接的方式将hh:mm文本的列转换为Excel的时间格式? (我知道我可以写一个转换公式,但是一定有内置的东西是正确的?)
OS X上的Excel 2008
不知道有一个很好的方法来做到这一点,但button
=TIMEVALUE(A1)
A1是你的date应该做的伎俩。
如果所有的时间都格式化为hh:mm,那应该很简单。
ABCD 22:15 =LEFT(A1,2) =RIGHT(A1,2) =TIME(B2,C1,0)
所有你在这里做的是采取文本(A栏)和隔离小时(B列)和分钟(C列),并使用TIMEfunction将它们放回在一起。
你甚至可以用一个公式来做:
=TIME(LEFT(A1,2),RIGHT(A1,2),0)
在导入后将列格式化为时间太晚,但在应用FROM TEXT时应该可以作为导入的一部分。
虽然没有在链接中显示,但步骤3应允许您将相关的列数据格式设置为常规,并将中午导入为例如显示为12:00
0.5
。
假设我有一个名为Time.txt
的文件,其时间单列如下:
22:13 09:25 12:20
我想将它们读入excel表格,并将它们放在范围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