4

如何将在 Excel 单元格中写入的周转时间转换为 (0D/1H/6),这意味着仅在另一个或相邻的 Excel 单元格中将 0 天、1 小时和 6 分钟转换为分钟。我想自动化它以使转换变得容易。谢谢。

4

2 回答 2

2

可以使用一些字符串函数。下面的代码计算分钟,给定一个单元格(在本例中为 A1),其字符串格式为您指定的方式:

=VALUE(LEFT(A1;FIND("D/";A1)-1))*24*60 + VALUE(MID(A1;FIND("D/";A1)+2;FIND("H/";A1)-FIND("D/";A1)-2))*60 + VALUE(RIGHT(A1;LEN(A1)-FIND("H/";A1)-1))

例如,在您的情况下,“0D/1H/6”给出 66。

于 2013-01-08T13:53:30.863 回答
0

因为我不认为 Excel 本身可以理解这种格式,所以我会为此使用 VBA 公式。

Alt+F11,插入 -> 模块并添加

Public Function TOMINS(value As String) As Long
    Dim parts() As String: parts = Split(value, "/")
    If (UBound(parts) = 2) Then
        TOMINS = Val(parts(0)) * 1440
        TOMINS = TOMINS + Val(parts(1)) * 60
        TOMINS = TOMINS + Val(parts(2))
    End If
End Function

然后,如果该值在 A1 中,并且您想要 B1 中的分钟,则将 B1 =TOMINS(A1)

于 2013-01-08T13:28:12.487 回答