如何使用 excel 清理杂乱的时间数据
How to clean messy time data using excel
我从 GPS 系统中检索了持续时间(时间)数据。数据显示了一名球员在比赛中上场的时间。问题是,对于很少的记录,数据显示为 20:12(20 分钟和 12 秒),而很少的记录显示为 20:12:00(20 分钟,12 秒,00 毫秒) .
我可以把这些记录都变成secs格式吗(如附图所示)?
PS:不想转成文本格式,需要做一些计算和分析
TIA!
[
尝试以下用户定义函数:
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
用户定义函数 (UDF) 非常易于安装和使用:
- ALT-F11 调出 VBE window
- ALT-I
ALT-M 打开一个新模块
- 粘贴内容并关闭 VBE window
如果您保存工作簿,UDF 将随之保存。
如果您使用的 Excel 版本晚于 2003,则必须保存
文件为 .xlsm 而不是 .xlsx
删除 UDF:
- 如上所述调出 VBE window
- 清除代码
- 关闭 VBE window
要使用来自 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
必须启用宏才能运行!
使用:
=TEXT(A2,"[hh]")*60 + MINUTE(A2)
我从 GPS 系统中检索了持续时间(时间)数据。数据显示了一名球员在比赛中上场的时间。问题是,对于很少的记录,数据显示为 20:12(20 分钟和 12 秒),而很少的记录显示为 20:12:00(20 分钟,12 秒,00 毫秒) .
我可以把这些记录都变成secs格式吗(如附图所示)?
PS:不想转成文本格式,需要做一些计算和分析
TIA!
[
尝试以下用户定义函数:
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
用户定义函数 (UDF) 非常易于安装和使用:
- ALT-F11 调出 VBE window
- ALT-I ALT-M 打开一个新模块
- 粘贴内容并关闭 VBE window
如果您保存工作簿,UDF 将随之保存。 如果您使用的 Excel 版本晚于 2003,则必须保存 文件为 .xlsm 而不是 .xlsx
删除 UDF:
- 如上所述调出 VBE window
- 清除代码
- 关闭 VBE window
要使用来自 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
必须启用宏才能运行!
使用:
=TEXT(A2,"[hh]")*60 + MINUTE(A2)