我曾經搞過考勤體系。我把大約的思路說下,期望對你有協助。
1,建立設定班別的table
2,新增班別的遲到早退時刻欄位(小時,分鐘)
3,寫一個function,傳入刷卡小時和分鐘,當天班別。比較刷卡時刻和班別的遲到早退時刻,回來1(真)和0(假)(依據班別,查詢出對應的遲早早退時刻。第一筆卡比較遲到,最終一筆卡比較早退)
4,區別這比卡是當天的,仍是昨日的,如果是昨日的要追溯到昨日
5,寫一個function,傳入工號,日期,取得該職工當天的班別
6,select 刷卡表,將遲到早退的function規模值為1的記載都找出來如果你的考勤表格和下面相同或相似,能夠輸入公式=IF(C2="",CONCATENATE(INDIRECT("D"&ROW(C2))&"未打卡"),IF(AND(C2>TIME(8,35,0),C2<TIME(12,0,0)),"遲到",IF(AND(C2<TIME(17,3,0),C2>TIME(12,0,0)),"早退","正常")))
我曾經搞過考勤體系。我把大約的思路說下,期望對你有協助。
1,建立設定班別的table
2,新增班別的遲到早退時刻欄位(小時,分鐘)
3,寫一個function,傳入刷卡小時和分鐘,當天班別。比較刷卡時刻和班別的遲到早退時刻,回來1(真)和0(假)(依據班別,查詢出對應的遲早早退時刻。第一筆卡比較遲到,最終一筆卡比較早退)
4,區別這比卡是當天的,仍是昨日的,如果是昨日的要追溯到昨日
5,寫一個function,傳入工號,日期,取得該職工當天的班別
6,select 刷卡表,將遲到早退的function規模值為1的記載都找出來如果你的考勤表格和下面相同或相似,能夠輸入公式=IF(C2="",CONCATENATE(INDIRECT("D"&ROW(C2))&"未打卡"),IF(AND(C2>TIME(8,35,0),C2<TIME(12,0,0)),"遲到",IF(AND(C2<TIME(17,3,0),C2>TIME(12,0,0)),"早退","正常")))