如何使用excel清理凌乱的时间数据

时间:2018-02-08 14:55:40

标签: excel datetime time data-cleaning

我有从GPS系统检索的持续时间(时间)数据。数据显示了玩家在比赛中的持续时间。问题是,对于少数记录,数据显示为20:12(20分钟和12秒)和几条记录,显示为20:12:00(20分钟,12秒,00毫秒)。

我可以将所有这些记录更改为secs格式(如附图所示)吗?

PS:我不想将其转换为文本格式,因为我需要对其进行一些计算和分析。

TIA!

[convert [h]:mm:ss to secs[1]

2 个答案:

答案 0 :(得分:0)

尝试以下用户定义函数:

Public Function secondz(r As Range) As Long
    Dim s As String, arr

    secondz = 0
    s = r(1).Text
    If InStr(s, ":") = 0 Then Exit Function
    arr = Split(s, ":")
    secondz = CLng(arr(0)) * 60 + CLng(arr(1))
End Function

enter image description here

用户定义函数(UDF)非常易于安装和使用:

  1. ALT-F11调出VBE窗口
  2. ALT-I ALT-M打开了一个新模块
  3. 粘贴内容并关闭VBE窗口
  4. 如果保存工作簿,UDF将随之保存。 如果您在2003年之后使用的是Excel版本,则必须保存 该文件为.xlsm而不是.xlsx

    删除UDF:

    1. 按上述方式调出VBE窗口
    2. 清除代码
    3. 关闭VBE窗口
    4. 从Excel使用UDF:

      =secondz(A1)
      

      要了解有关宏的更多信息,请参阅:

      http://www.mvps.org/dmcritchie/excel/getstarted.htm

      http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

      有关UDF的详细信息,请参阅:

      http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

      必须启用宏才能使其生效!

答案 1 :(得分:0)

使用:

=TEXT(A2,"[hh]")*60 + MINUTE(A2)