Board logo

標題: 出勤表如何用函數判斷 [打印本頁]

作者: keovin790916    時間: 2015-3-19 08:32     標題: 出勤表如何用函數判斷

出勤表如何用函數判斷 時間  

時間好像會卡到

[attach]20464[/attach]


[attach]20465[/attach]
作者: keovin790916    時間: 2015-3-19 10:30

我用if  好像不能判斷
作者: p212    時間: 2015-3-19 10:37

回復 2# keovin790916
不明瞭1#的問題需求為何?
可以詳述一下?
謝謝!
作者: keovin790916    時間: 2015-3-19 13:33

我要用if  d2>08:00,"遲到"     這樣  標記
作者: keovin790916    時間: 2015-3-19 14:14

有可以判斷時間的 函數?    假設我08:00  超過時間 就顯示出遲到  沒超過就空白。   請問大大這要用甚麼函數?
作者: keovin790916    時間: 2015-3-19 14:31

有辦法是

我的資料是

08:01
12:00
13:20
17:00

一次四個比對  資料    >08:00  遲到   =<08:00 沒遲到  
                                     >12:00   OK      <12:00   早退
                                    >13:30  遲到   =<13:30 沒遲到
                                      >17:00   OK      <17:00   早退   

如何用函數來判斷   用IF 好像沒辦法多種條件讓他完成
作者: ting870520    時間: 2015-3-20 14:52

回復 4# keovin790916

在EXCEL裡時間無法直接用08:00來表示
對EXCEL來說08:00=0.3333....(8/24)  08:30=0.35416....(8.5/24)  以此類推
所以函數要改成  =IF(D2<=0.3334,"","遲到")
以上是我個人的淺見,如有錯誤,還請各位大大給予指教~~
作者: p212    時間: 2015-3-20 15:30

本帖最後由 p212 於 2015-3-20 15:37 編輯

回復 6# keovin790916
1、增加輔助欄「出勤標準」G2:G5
2、儲存格E2輸入公式
=IF($D2-LOOKUP(,0/(MIN(($G$2:$G$5-$D2)^2)=($G$2:$G$5-$D2)^2),$G$2:$G$5)>0,"遲到",IF($D2-LOOKUP(,0/(MIN(($G$2:$G$5-$D2)^2)=($G$2:$G$5-$D2)^2),$G$2:$G$5)<0,"早到","準時"))
向下複製
請參考!
注:上列公式之 LOOKUP(,0/(MIN(($G$2:$G$5-$D2)^2)=($G$2:$G$5-$D2)^2),$G$2:$G$5)部分
參考 http://forum.twbts.com/thread-10765-1-1.html    ML089版大解題內容
作者: p212    時間: 2015-3-20 17:22

回復 6# keovin790916
若不想增加輔助欄,可以定義名稱處理(如圖)
儲存格E2輸入公式
=IF($D2-LOOKUP(,0/(MIN((上班時刻-$D2)^2)=(上班時刻-$D2)^2),上班時刻)>0,"遲到",IF($D2-LOOKUP(,0/(MIN((上班時刻-$D2)^2)=(上班時刻-$D2)^2),上班時刻)<0,"早到","準時"))
向下複製
請參考!
作者: keovin790916    時間: 2015-3-21 21:37

感謝各位大大提供   ,又多學到了一些  我再試試看。
作者: keovin790916    時間: 2015-3-21 21:52

還卡在一個問題  如果  提早08:00 的是判斷為早到
   但是提早12:00的 是早退  這樣的話 怎麼判斷?   
   提早13:30 的是判斷為早到
但提早17:00的也算是早退  這樣如何判斷?

請問各位大大 這樣還要再加一行?還是?
作者: keovin790916    時間: 2015-3-21 22:19

回復 9# p212


    大大      =IF($D2-LOOKUP(,0/(MIN(($G$2:$G$3-$D2)^2)=($G$2:$G$3-$D2)^2),$G$2:$G$3)>0,"遲到",IF($D2-LOOKUP(,0/(MIN(($G$2:$G$3-$D2)^2)=($G$2:$G$3-$D2)^2),$G$2:$G$3)<=0,"早到","準時",IF($D2-LOOKUP(,0/(MIN(($G$4:$G$5-$D2)^2)=($G$4:$G$5-$D2)^2),$G$4:$G$5)>0,"遲到",IF($D2-LOOKUP(,0/(MIN(($G$4:$G$5-$D2)^2)=($G$4:$G$5-$D2)^2),$G$4:$G$5)<=0,"早退","準時"))))


這個有辦法縮短?
作者: p212    時間: 2015-3-23 09:59

本帖最後由 p212 於 2015-3-23 10:10 編輯

回復 12# keovin790916
拙見,請參考!
作者: keovin790916    時間: 2015-3-23 22:39

回復 13# p212

大大真厲害     如果我改成這樣   有辦法能縮短?

IF(($G2>LOOKUP(,0/(MIN((本社-$G2)^2)=(本社-$G2)^2),本社))*($M2="上班"),"遲到",IF((($G2<LOOKUP(,0/(MIN((本社-$G2)^2)=(本社-$G2)^2),本社)))*($M2="下班"),"早退",""))),IF(($G2>LOOKUP(,0/(MIN((本社-$G2)^2)=(本社-$G2)^2),本社))*($M2="下午上班"),"遲到",IF((($G2<LOOKUP(,0/(MIN((本社-$G2)^2)=(本社-$G2)^2),本社)))*($M2="下午下班"),"早退",""))

我想說要上班 下班 分成上午下午  , 會有狀況只有下午上班下班的出現, 還有如果遇到當天只出勤上午上班 之後下午下班的  有函數可以判斷?
作者: p212    時間: 2015-3-24 10:31

本帖最後由 p212 於 2015-3-24 10:33 編輯

回復 14# keovin790916
13#問的資料欄位配置似乎與原問不同!
可否就13#的檔案資料(或另起範例檔),加註您欲增列的欄位、預期答案...等,以供一同練習、研究?
謝謝!
作者: keovin790916    時間: 2015-3-24 22:43

回復 15# p212


   
如這些是有比較複雜  條件設的比較多

  [attach]20509[/attach]


[attach]20510[/attach]  請大大 看看
作者: p212    時間: 2015-3-25 08:40

本帖最後由 p212 於 2015-3-25 08:55 編輯

回復 16# keovin790916
1、14#所提「當天只出勤上午上班 之後下午下班的」(連續值勤者),16#範例檔之K欄應是正確的。而H欄位若欲再標註,則建議公式為
=CHOOSE(MATCH(TEXT(LOOKUP(,0/(MIN((G群組-$F2)^2)=(G群組-$F2)^2),G群組),"hh:mm"),{"08:00";"12:00";"13:30";"17:00"},0),"值班","","值班","")
產生「值班」的結果
2、16#範例檔的資料皆為值勤紀錄,故計算「出席天數」建議公式為
=SUMPRODUCT(1/COUNTIF($D$2:$D$17,$D$2:$D$17))
3、16#範例檔的G6儲存格所述「會遇到有兩天打卡的」,為何?
4、若E2儲存格為手動輸入,則可藉輸入=TEXT(D2,"aaaa"),向下複製公式,產生「星期X」的結果;或輸入=TEXT(D2,"aaa")產生「週X」的結果。
以上拙見,請參考!
作者: keovin790916    時間: 2015-3-25 14:27

回復 17# p212

感謝大大指導

不過按造值班這樣 似乎沒辦法當天判斷。

遇到兩天打卡的意思 就是  打下午上班 下午下班  此類型  可否判斷特別顯示
作者: keovin790916    時間: 2015-3-25 14:30

如果改成 上午上班 跟下午上班 這樣後面就沒辦法再判斷 遲到 早退這類?  還是有其他函數可以打在後面




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