Board logo

標題: [發問] 請問要有什函數可以判斷時間來分出日、夜班 [打印本頁]

作者: 52ee24    時間: 2015-8-20 13:43     標題: 請問要有什函數可以判斷時間來分出日、夜班

本帖最後由 52ee24 於 2015-8-20 13:44 編輯

請問各位先進
公司的上班時間是0740~1940日班1940~0740夜班
我可以用什麼函數來判斷,結果在B欄寫下是日或夜班
麻煩各位幫幫忙了
謝謝

A欄                                  B欄
log off 時間        日/夜班
2015/8/1 16:42       
2015/8/1 16:42       
2015/8/1 16:42       
2015/8/1 16:42       
2015/8/1 16:42       
2015/8/1 16:42       
2015/8/2 04:49       
2015/8/2 04:49       
2015/8/2 04:49       
2015/8/2 04:49       
2015/8/2 04:49       
2015/8/2 04:49       
2015/8/2 16:51
作者: p212    時間: 2015-8-20 14:36

本帖最後由 p212 於 2015-8-20 14:39 編輯

回復 1# 52ee24
如1#之A橺資料自儲存格A2開始
儲存格B2輸入
=IF((TIMEVALUE(TEXT(A2,"hh:mm:ss"))>=TIME(7,40,))*(TIMEVALUE(TEXT(A2,"hh:mm:ss"))<TIME(19,40,)),"日班","夜班")
請參考!
作者: 52ee24    時間: 2015-8-20 15:42

回復 2# p212


    謝謝p大
太強了~
謝謝你的指導
作者: ML089    時間: 2015-8-20 16:54

回復 1# 52ee24

B2 =LOOKUP(MOD(A2,1),--{0,"7:40","19:41"},{"夜","日","夜"})&"班"
下拉
作者: p212    時間: 2015-8-20 17:06

回復 4# ML089
很妙的替代 IF 函數解法,受教了。
感謝ML089版大指導!
作者: JBY    時間: 2015-8-20 19:23

B2 :

=TEXT(MOD(A2,1),"[>=0.82]夜班;[>0.3194]日班;夜班")
作者: ML089    時間: 2015-8-20 23:28

回復 5# p212

主要是使用MOD函數取出時間
  1. =IF((MOD(A2,1)>--"7:40")*(MOD(A2,1)<=--"19:40"),"日班","夜班")
  2. =IF((MOD(A2,1)>TIME(7,40,))*(MOD(A2,1)<=time(19,40,)),"日班","夜班")
複製代碼

作者: 52ee24    時間: 2015-8-21 14:20

你們都太強大了
謝謝你們的指導
小弟受教了
作者: JBY    時間: 2015-8-21 23:43

回復 7# ML089

使用 IF 函數 :

=IF(-(ABS(MOD(A1,1)-0.569)<0.25),"日班","夜班")
作者: ML089    時間: 2015-8-22 00:37

回復 9# JBY

好想法-讚
作者: Scott090    時間: 2015-8-22 16:42

回復 7# ML089


  "  =IF((MOD(A2,1)>--"7:40")*(MOD(A2,1)<=--"19:40"),"日班","夜班")
" B2 =LOOKUP(MOD(A2,1),--{0,"7:40","19:41"},{"夜","日","夜"})&"班"

請問 -- 是甚麼運算的意思

謝謝先
作者: ML089    時間: 2015-8-22 21:55

回復 11# Scott090

-- 就是數學運算 負負的正,EXCEL 的TRUE/FALSE 在數學運算中會轉為 1/0 來處理,文字數字或日期、時間也相同會轉為數值計算。
作者: Scott090    時間: 2015-8-22 22:50

回復 12# ML089


    妙, 感恩
在VBA 的說明內好像找不到如此的轉換法
作者: ML089    時間: 2015-8-23 14:26

回復 13# Scott090

VBA 與 公式確實不一致

--"12", 1*"12" VBA及公式都可以

日期與時間文字轉換公式可以,VBA無法處理
--"8:00", 1*"8:00"
--"2015/8/20",
作者: JBY    時間: 2015-8-23 14:58

回復 1# 52ee24

事實上,這題有相當多的解法,其中的一類,使用 "格式自定義" +"函數" :

1) B1 >> 格式自定義 >> 輸入 :  [=0]夜班;[=1]日班

2.1) 使用 PROB 函數, B1輸入公式 :

=PROB(MOD(A1,1),1,0.319,0.819)

2.2) 或者, 使用 FREQUENCY 函數, B1輸入公式 :

=FREQUENCY(MOD(A1,1),{0.819,0.319})
作者: Scott090    時間: 2015-8-23 22:13

回復 14# ML089

儲存格的型態有時很曖昧,除非加一個 " ' "強調是文字型態
這是我的看法




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)