Dear all:
我想將檔案中上午、下午轉換成24小時制,但"上午"卻無法執行,煩請前輩給予解惑,謝謝您。
(檔案如下)
[轉換成24小時制]
[原始資料]
如果 find_text 是空字串 (""),則 FIND函數會符合被搜尋字串的第一個字元位置 (亦即傳回 start_num 或 1)。
Find_text 中不能包含任何萬用字元。
如果 within_text 中沒有 find_text,則 FIND傳回錯誤值 #VALUE!。
如果 start_num 不大於零,則 FIND 傳回錯誤值 #VALUE!。
如果 start_num 超過 within_text 的長度,則 FIND 傳回錯誤值 #VALUE!。
這是find本身的問題,search也會.
不如改為 if(LEFT(TRIM(A5),2)="下午",..... 判斷前2字是否為下午來代替
要硬上,請加用ISERROR,來抓#value!錯誤,此時,判斷上、下午值的公式要顛倒過來
=IF(ISERROR(FIND("上",A2)),TIMEVALUE(RIGHT(A2,8))+0.5,TIMEVALUE(RIGHT(A2,8)))
所以,你的公式有問題,不要用find,直接比較內容即可:
=IF(FIND("下午",A2),TIMEVALUE(RIGHT(A2,8))+0.5,TIMEVALUE(RIGHT(A2,8)))
要改成
=IF("下"=LEFT(A2,1),TIMEVALUE(RIGHT(A2,8))+0.5,TIMEVALUE(RIGHT(A2,8)))
另外,A欄的開始時間格式不對,應該是 07:00:00 AM或是13:00:00 PM,不知是手工輸入,還是用程式抓的 ?
時間其實是一種數字序列,不該直接輸入文字,這樣無法直接轉換或是運算!