如何將Excel電子表格的單元格B4中的以下數據轉換爲我可以運行數據透視表和圖表的數字「1天23小時11分鐘」?Excel字符串轉換
理想情況下,我想抓住分鐘,只處理幾小時和幾天,併產生一個值(小時)。
1天= 8小時的工作日
由於
CSC
如何將Excel電子表格的單元格B4中的以下數據轉換爲我可以運行數據透視表和圖表的數字「1天23小時11分鐘」?Excel字符串轉換
理想情況下,我想抓住分鐘,只處理幾小時和幾天,併產生一個值(小時)。
1天= 8小時的工作日
由於
CSC
嘗試WORKDAY功能。如果您單擊該單元格並鍵入= WORKDAY(8,1),它會告訴您所需的信息。希望能幫助到你!
這裏是一個VBA方法。讓我知道如果你不想要VBA方法,我會刪除它。
將此代碼放入模塊中。此代碼考慮到考慮爲days/day
和hrs/hr
代碼之間的所有比賽
Function ConvertToHours(rng As Range) As Long
Dim DAr() As String, HAr() As String, strVal As String
Dim D As Long, H As Long
If rng Is Nothing Then
ConvertToHours = 0
Else
strVal = LCase(rng.Value)
If InStr(1, strVal, "days", vbTextCompare) Then
DAr = Split(strVal, "days")
D = Val(Trim(DAr(0)))
If InStr(1, strVal, "hrs", vbTextCompare) Then
HAr = Split(DAr(1), "hrs")
H = Val(Trim(HAr(0)))
ElseIf InStr(1, strVal, "hr", vbTextCompare) Then
HAr = Split(DAr(1), "hr")
H = Val(Trim(HAr(0)))
End If
ElseIf InStr(1, strVal, "day", vbTextCompare) Then
DAr = Split(strVal, "day")
D = Val(Trim(DAr(0)))
If InStr(1, strVal, "hrs", vbTextCompare) Then
HAr = Split(DAr(1), "hrs")
H = Val(Trim(HAr(0)))
ElseIf InStr(1, strVal, "hr", vbTextCompare) Then
HAr = Split(DAr(1), "hr")
H = Val(Trim(HAr(0)))
End If
End If
ConvertToHours = (D * 8) + H
End If
End Function
截圖
試試這個公式拿到小時爲十進制
=SUM(MID(0&A1,FIND({"d","h","m"},A1)-2,2)*{480,60,1})/60
假設天,小時,分鐘悉數到場 - 適用於多達99天
如果你不關心分鐘,那麼你可以只使用
=SUM(MID(0&A1,FIND({"d","h"},A1)-2,2)*{8,1})
+ 1你永遠不會驚訝我:) – 2013-04-30 21:48:13
尋找VBA解決方案? – 2013-04-30 20:50:10
如果有一天= 8小時,那麼'23小時11分鐘'似乎很奇怪 - 我預計小時和分鐘不會超過7:59 ....不會「1天23小時11分鐘」=「3天7小時11分鐘「? – 2013-04-30 21:19:08
@barryhoudini:用戶想忽略分鐘... – 2013-04-30 21:49:19