excel 上午、下午 轉24小時制,程式問題

Dear all:
我想將檔案中上午、下午轉換成24小時制,但"上午"卻無法執行,煩請前輩給予解惑,謝謝您。
(檔案如下)
excel 上午、下午 轉24小時制,程式問題

[轉換成24小時制]

[原始資料]
FIND (find_text,within_text,start_num)

如果 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字是否為下午來代替
find找不到時,會變成#value!,真、假不定,無法用來判斷TRUE或是FALSE
要硬上,請加用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,不知是手工輸入,還是用程式抓的 ?

時間其實是一種數字序列,不該直接輸入文字,這樣無法直接轉換或是運算!

這電腦不會自己寫嗎?
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!