我在單元格A1中具有以下文本時間戳。 22-OCT-13 03.40.00.000000000 AM
。在B1中,我有以下公式:=TIME(HOUR(MID(A1,11,2)),MIN(MID(A1,14,2)),SECOND(MID(A1,17,2)))
。Excel將文本轉換爲時間戳
它產生12:40 AM。小時函數返回零,但分鐘函數工作正常。我無法弄清楚它有什麼問題。
我在單元格A1中具有以下文本時間戳。 22-OCT-13 03.40.00.000000000 AM
。在B1中,我有以下公式:=TIME(HOUR(MID(A1,11,2)),MIN(MID(A1,14,2)),SECOND(MID(A1,17,2)))
。Excel將文本轉換爲時間戳
它產生12:40 AM。小時函數返回零,但分鐘函數工作正常。我無法弄清楚它有什麼問題。
MIN
是從值列表中返回最小值而不是MINUTE
公式的「最小」公式。
我認爲你不熟悉TIME()
,HOUR()
或MINUTE()
。
TIME()
取'正常'值並將它們轉換爲時間值。如果您有TIME(H, M, S)
,H
是小時數(不是時間戳),M
是分鐘數(不是時間戳),S
是秒數(又是時間戳)。
HOUR()
需要時間值並從中提取小時。
MINUTE()
和SECOND()
類似於HOUR()
。你大概意思已經是:
=TIME(MID(A1,11,2),MID(A1,14,2),MID(A1,17,2))
當您使用MID()
你得到一個號碼,而不是一個時間戳。所以,HOUR
取這個數字,將其解釋爲時間戳並返回小時。在你的例子中,第一個MID
返回03
。在excel中,如果將其轉換爲時間戳,則會得到03/01/1900 00:00(以dd/mm/yyyy hh:mm格式),因此小時爲0
。
編輯:
=SUBSTITUTE(SUBSTITUTE(A1,".",":"),":",".",3)*1
的:
順便說一句,你可以,如果你想保留的日期和時間(末尾不忘AM/PM使用這個公式原來的日期/時間差不多可以通過Excel來理解,將全部的.
替換爲:
,然後用.
替換第三個(最後一個):
,再乘以1以告訴Excel將其轉換爲數字。而且應該這樣做。
嘿,我只是意識到你可能會錯過最後的AM/PM。編輯我的答案也是這樣考慮的。 – Jerry