【发布时间】:2013-01-08 13:08:30
【问题描述】:
如何将写入 Excel 单元格的周转时间转换为 (0D/1H/6),即仅在另一个或相邻 Excel 单元格中的 0 天 1 小时 6 分钟到分钟。我想自动化它以使转换变得容易。谢谢。
【问题讨论】:
标签: excel excel-formula data-conversion
如何将写入 Excel 单元格的周转时间转换为 (0D/1H/6),即仅在另一个或相邻 Excel 单元格中的 0 天 1 小时 6 分钟到分钟。我想自动化它以使转换变得容易。谢谢。
【问题讨论】:
标签: excel excel-formula data-conversion
可以使用一些字符串函数。下面的代码计算分钟,给定一个单元格(在本例中为 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。
【讨论】:
由于我认为 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)
【讨论】: