天小时分钟d hh:mm:ss

我需要转换:

  • 12天2小时43分钟
  • 3小时18分钟
  • 1天1分钟

成:

hh:mm 

有没有办法只为所有案件使用一个简单的公式? 谢谢!

干杯!

Medicloreans

考虑以下用户自定义function(UDF)

 Public Function NewTime(SIn As String) As String Dim nMinutes As Long, nHours As Long, V As Long Dim Tag As String ary = Split(SIn, " ") For i = 0 To UBound(ary) - 1 Step 2 V = ary(i) Tag = Replace(ary(i + 1), "s", "") If Tag = "Day" Then nHours = nHours + 24 * V If Tag = "Hour" Then nHours = nHours + V If Tag = "Minute" Then nMinutes = nMinutes + V Next i NewTime = nHours & ":" & nMinutes End Function 

在这里输入图像说明

用户定义的函数(UDF)非常易于安装和使用:

  1. ALT-F11调出VBE窗口
  2. ALT-I ALT-M打开一个新的模块
  3. 粘贴东西,closuresVBE窗口

如果保存工作簿,则UDF将随之保存。 如果您在2003年以后使用的是Excel版本,则必须将该文件另存为.xlsm而不是.xlsx

要删除UDF:

  1. 如上所示调出VBE窗口
  2. 清除代码
  3. closuresVBE窗口

从Excel中使用UDF:

= myfunction的(A1)

要了解有关macros的更多信息,请参阅:

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

macros必须启用这个工作!