![将文本/通用格式的时间转换为可以过滤的数值](https://linux22.com/image/1453899/%E5%B0%86%E6%96%87%E6%9C%AC%2F%E9%80%9A%E7%94%A8%E6%A0%BC%E5%BC%8F%E7%9A%84%E6%97%B6%E9%97%B4%E8%BD%AC%E6%8D%A2%E4%B8%BA%E5%8F%AF%E4%BB%A5%E8%BF%87%E6%BB%A4%E7%9A%84%E6%95%B0%E5%80%BC.png)
我有以下格式的时间数据:000:01:18
问题是它被格式化为常规格式,excel 根本无法将其识别为数值。因此没有公式可以转换数据。我想将数据转换为简单格式的数字,即秒。例如,上面的数字将是 78 秒。
有人能帮我把这些文本数据转换成数字数据吗?然后我需要一个公式把它转换成秒数。
谢谢你!
答案1
我假设您有格式的数据hh:mm:ss
(而不是示例中的 hhh:mm:ss),在这种情况下转换为时间的公式是:
TIME(LEFT(A1,2),MID(A1,4,2),RIGHT(A1,2))
。
要将其转换为秒,您需要将其乘以24*60*60
(https://support.microsoft.com/en-us/kb/214094?wa=wsignin1.0)
答案2
如果我们从以下开始:
并且我们要“就地”转换为秒,然后选择要转换的单元格并运行这个小宏:
Sub MakeSeconds()
Dim sec As Long, H As Long, M As Long, S As Long
Dim r As Range
For Each r In Selection
v = r.Text
If InStr(v, ":") > 1 Then
ary = Split(v, ":")
H = CDbl(ary(0)) * 3600
M = CDbl(ary(1)) * 60
S = CDbl(ary(2))
sec = H + M + S
r.Clear
r.Value = sec
End If
Next r
End Sub
这将导致: