Evil 發表於 11-7-21 09:49

excel 抓取時間值函數

假設a1欄位儲存格格式為hh:mm:ss,其值等於50:35:20(50小時35分20秒),
我想在b1欄位顯示50這個數字就好,
請問有哪個函數可以寫出來的?
再麻煩各位不吝告知,謝謝幫忙!

{:4_160:}

enochyu 發表於 11-7-21 10:09

本帖最後由 enochyu 於 11-7-21 10:22 AM 編輯

若單純是日期格式的話,可以使用

=HOUR(A1)

若是文字型態請用

=LEFT(TRIM(A1),2)

不知道大大資料型態,還可以再試試

=LEFT(TEXT(A1,":mm:ss"),2)

=LEFT(TEXT(A1,"hh:mm:ss"),2)

應該可以矇中一個,參考看看

kilroy 發表於 11-7-21 10:17

對了!

enochyu 大大的 excel 也很強!{:4_113:}

enochyu 發表於 11-7-21 10:23

回復 3# kilroy


哈哈 ~ 混口飯吃啦 {:4_186:}

Evil 發表於 11-7-21 10:24

若單純是日期格式的話,可以使用

=HOUR(A1)

若是文字型態請用

=LEFT(TRIM(A1),2)

參考看看 ...
enochyu 發表於 11-7-21 10:09 AM http://www.coco-in.net/images/common/back.gif


excel會把大於24小時的時間,換算成小於24小時之內,
所以若以上述的例子來看,b1得到的數,就不會是50,而是等於2-->(50-(24*2)).
這也是小弟困擾的地方,因為我要得到的是等於50,但一直寫不出來,
請問大大是否還有其它方法?

enochyu 發表於 11-7-21 10:29

excel會把大於24小時的時間,換算成小於24小時之內,
所以若以上述的例子來看,b1得到的數,就不會是50,而是 ...
Evil 發表於 11-7-21 10:24 AM http://www.coco-in.net/images/common/back.gif


呵呵 ~ 那下面方法應該可以解決才是

=LEFT(TEXT(A1,":mm:ss"),2)

試試看 {:4_153:}

Evil 發表於 11-7-21 10:46

呵呵 ~ 那下面方法應該可以解決才是

=LEFT(TEXT(A1,":mm:ss"),2)

試試看...
enochyu 發表於 11-7-21 10:29 AM http://www.coco-in.net/images/common/back.gif

謝謝大大,這真的是一個好方法!
但連帶的又衍生出一個問題,如果a1欄位的時間總值是個變數,
也就是不一定是50二位數,而是百位數呢?
那使用left去截取2位值,就會有問題了...
因為小弟報表內,a1的值是會變的,所以沒有辦法固定用left(xx,2)這樣去寫= =

第十三使徒 發表於 11-7-21 11:25

本帖最後由 菜逼疤 於 11-7-21 11:33 AM 編輯

1.直接讓b1=a1
2.把b1的「儲存格格式」(按右鍵可看到)中的「數值」最下面的「自訂」找到:mm:ss後
在右上那裡把:mm:ss刪去
3.是不是就可以了呢{:5_657:}



Evil 發表於 11-7-21 11:31

回復 8# 菜逼疤


您也是天才!!

綜合樓上二位大大熱心指導,
小弟這題完全有解了^^
yes!!
3Q very much!

enochyu 發表於 11-7-21 11:34

菜逼疤 大提供的方法簡單好用 {:4_113:}

大大可以用下列方式修正

=MID( TEXT(A1,":mm:ss"), 1, SEARCH( ":", TEXT( A1, ":mm:ss") ) - 1 )

請笑納 {:4_153:}

第十三使徒 發表於 11-7-21 11:35

回復 9# Evil


    長老客氣了,菜逼疤愧不敢當{:5_282:}

{:4_209:} {:4_108:}

Evil 發表於 11-7-21 11:41

回復 10# enochyu


您函數用的真熟,山不轉路轉,
同一個問題,有百百種解法^^

enochyu 發表於 11-7-21 12:46

客氣了,對大大有幫助就好。

bacardi 發表於 11-7-21 15:06

大家Excel都好強喔, COCO真是臥虎藏龍
頁: [1]
查看完整版本: excel 抓取時間值函數