如何将时间字符串转换为秒

冷淡

我有将大约5000行导入到Excel的CSV文件,而我的问题是我有多个时间字符串,例如1h1m1s,需要将它们转换为Seconds。

以下是一些示例:

列A中的数据

0m11s         
2m32s        
3m10s        
1h2m35s

B列结果

11 seconds
152 seconds  
190 seconds    
3755 seconds

我尝试格式化单元格,但最终得到一些奇怪的结果!

是否可以这样做,如果可以,那么如何将时间字符串转换为秒?

罗恩·罗森菲尔德

使用VBA相对容易。

一种方法是使用正则表达式解析字符串,然后将每个部分乘以适当的转换。

要输入此用户定义函数(UDF),请alt-F11打开Visual Basic编辑器。确保在“项目资源管理器”窗口中突出显示您的项目。然后,从顶部菜单中选择Insert/Module下面的代码并将其粘贴到打开的窗口中。

要使用此用户定义函数(UDF),请输入如下公式

=convSeconds(A1)

在某些单元格中。

这将只返回秒数,如下所示。如果要附加单词Seconds,则可以将公式与字符串连接;也可以将公式与字符串连接。或使用自定义数字格式(这将保留结果的数字质量)。

Option Explicit
Function convSeconds(s As String) As Long
    Dim RE As Object, MC As Object
    Dim SEC As Long
Set RE = CreateObject("vbscript.regexp")
With RE
    .Global = True
    .ignorecase = True
    .Pattern = "(?:(\d+)h)?(?:(\d+)m)?(?:(\d+)s)?"
    If .test(s) = True Then
        Set MC = .Execute(s)
        With MC(0)
            SEC = SEC + .submatches(0) * 3600 'hours
            SEC = SEC + .submatches(1) * 60   'minutes
            SEC = SEC + .submatches(2)        'seconds
        End With
    End If
End With
convSeconds = SEC
End Function

在此处输入图片说明

这是正则表达式的解释

提取h / m / s

(?:(\d+)h)?(?:(\d+)m)?(?:(\d+)s)?

RegexBuddy创建

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将描述时间的字符串转换为秒?

来自分类Dev

如何将时间码字符串转换为秒

来自分类Dev

如何将时间从字符串转换为分钟?

来自分类Dev

如何将字符串转换为日期时间?

来自分类Dev

如何将时间戳转换为字符串

来自分类Dev

如何将字符串转换为纪元时间?

来自分类Dev

将时间转换为秒字符串问题

来自分类Dev

将秒转换为可读的时间字符串

来自分类Dev

如何在angular2中将秒转换为时间字符串?

来自分类Dev

如何在angular2中将秒转换为时间字符串?

来自分类Dev

如何将特定格式的字符串转换为日期/秒 shell 脚本 linux

来自分类Dev

如何将时间“持续时间”从字符串值转换为整数?

来自分类Dev

如何将本地日期时间字符串转换为Unix时间戳(GMT)?

来自分类Dev

如何将月年时间字符串转换为时间?

来自分类Dev

如何将时间字符串转换为时间戳

来自分类Dev

Ruby:如何将日期时间字符串转换为纪元时间的浮点数?

来自分类Dev

如何将字符串转换为日期时间,忽略时间信息?

来自分类Dev

如何将此字符串转换为日期时间?

来自分类Dev

如何将Java字符串转换为Teradata DATE和时间戳

来自分类Dev

如何将日期时间字符串转换为UTC以在Highcharts上绘制点

来自分类Dev

Swift:如何将String转换为具有时间格式的字符串?

来自分类Dev

如何将时间戳字符串转换为毫秒?

来自分类Dev

如何将包含时区的字符串转换为日期时间SQL Server

来自分类Dev

如何将表示时间范围的字符串转换为struct_time对象?

来自分类Dev

在熊猫中,如何将字符串转换为以毫秒为单位的日期时间对象?

来自分类Dev

SAS当从CSV加载数据时,如何将字符串转换为时间?

来自分类Dev

如何将时间字符串(M:SS)转换为float

来自分类Dev

如何将时间字符串(例如“ 8:02 AM”)转换为可排序的字段

来自分类Dev

如何将PT格式的持续时间转换为PHP中的常规字符串

Related 相关文章

  1. 1

    如何将描述时间的字符串转换为秒?

  2. 2

    如何将时间码字符串转换为秒

  3. 3

    如何将时间从字符串转换为分钟?

  4. 4

    如何将字符串转换为日期时间?

  5. 5

    如何将时间戳转换为字符串

  6. 6

    如何将字符串转换为纪元时间?

  7. 7

    将时间转换为秒字符串问题

  8. 8

    将秒转换为可读的时间字符串

  9. 9

    如何在angular2中将秒转换为时间字符串?

  10. 10

    如何在angular2中将秒转换为时间字符串?

  11. 11

    如何将特定格式的字符串转换为日期/秒 shell 脚本 linux

  12. 12

    如何将时间“持续时间”从字符串值转换为整数?

  13. 13

    如何将本地日期时间字符串转换为Unix时间戳(GMT)?

  14. 14

    如何将月年时间字符串转换为时间?

  15. 15

    如何将时间字符串转换为时间戳

  16. 16

    Ruby:如何将日期时间字符串转换为纪元时间的浮点数?

  17. 17

    如何将字符串转换为日期时间,忽略时间信息?

  18. 18

    如何将此字符串转换为日期时间?

  19. 19

    如何将Java字符串转换为Teradata DATE和时间戳

  20. 20

    如何将日期时间字符串转换为UTC以在Highcharts上绘制点

  21. 21

    Swift:如何将String转换为具有时间格式的字符串?

  22. 22

    如何将时间戳字符串转换为毫秒?

  23. 23

    如何将包含时区的字符串转换为日期时间SQL Server

  24. 24

    如何将表示时间范围的字符串转换为struct_time对象?

  25. 25

    在熊猫中,如何将字符串转换为以毫秒为单位的日期时间对象?

  26. 26

    SAS当从CSV加载数据时,如何将字符串转换为时间?

  27. 27

    如何将时间字符串(M:SS)转换为float

  28. 28

    如何将时间字符串(例如“ 8:02 AM”)转换为可排序的字段

  29. 29

    如何将PT格式的持续时间转换为PHP中的常规字符串

热门标签

归档