如何将文本导入时间格式?

我有一个像这样的格式从数据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