可以的,這個公式不難,而且你已經把條件都說出來的。
具體實現方式如下:
1-先將日期和時間拆分出來
這一步使用到的函式都比較簡單,就是Left(),Right(),Mid(),將字串割開,當然也可以是用“資料”-“分列”
2-計算加班時間
設定單元格格式入土所示
加班時間=(中午打卡-早上打卡)+(下午打卡-中午打卡)-上班時間
=(H3-G3)+(I3-H3)-J3
3-加班時間
按照你說的8點上班然後15:20下班,上班週期是9小時20分,因此要減去這9小時20分
4-最後得出,加班時間為1:27分鐘
5-按照你的要求,超過15分鐘按0.25小時計算
要先提取出加班時長的小時和分鐘
取出小時用Hour()函式,取出分鐘用Minute()函式
獲取小時
=HOUR(((H3-G3)+(I3-H3)-J3))
獲取分種
=MINUTE((H3-G3)+(I3-H3)-J3)
根據你提出的條件還需要新增一個公式 =if(分鐘<30 and 分鐘>15,0.25小時,0)
最後就得到加班的時間。當你把這所有邏輯都理解了,你可以一步到位直接算出加班小時
公式如下:
=HOUR(((H3-G3)+(I3-H3)-J3))+IF(AND(MINUTE(((H3-G3)+(I3-H3)-J3))>15,MINUTE(((H3-G3)+(I3-H3)-J3))<30),0.25,0)
其實個人理解,應該是用加班時間/60來按區間取值,如果加班40分鐘是0.5小時還是算0.6小時,還是0.7小時呢 ?
分割線---------------------------------------------------------------------------------------
我仔細研究了一番,如果你所有的資料格式都固定,確實可以自定義個一個VBA 的Function()
就像在表格中使用SUM函式的方式一樣。
可以的,這個公式不難,而且你已經把條件都說出來的。
具體實現方式如下:
1-先將日期和時間拆分出來
這一步使用到的函式都比較簡單,就是Left(),Right(),Mid(),將字串割開,當然也可以是用“資料”-“分列”
2-計算加班時間
設定單元格格式入土所示
加班時間=(中午打卡-早上打卡)+(下午打卡-中午打卡)-上班時間
=(H3-G3)+(I3-H3)-J3
3-加班時間
按照你說的8點上班然後15:20下班,上班週期是9小時20分,因此要減去這9小時20分
4-最後得出,加班時間為1:27分鐘
5-按照你的要求,超過15分鐘按0.25小時計算
要先提取出加班時長的小時和分鐘
取出小時用Hour()函式,取出分鐘用Minute()函式
獲取小時
=HOUR(((H3-G3)+(I3-H3)-J3))
獲取分種
=MINUTE((H3-G3)+(I3-H3)-J3)
根據你提出的條件還需要新增一個公式 =if(分鐘<30 and 分鐘>15,0.25小時,0)
最後就得到加班的時間。當你把這所有邏輯都理解了,你可以一步到位直接算出加班小時
公式如下:
=HOUR(((H3-G3)+(I3-H3)-J3))+IF(AND(MINUTE(((H3-G3)+(I3-H3)-J3))>15,MINUTE(((H3-G3)+(I3-H3)-J3))<30),0.25,0)
其實個人理解,應該是用加班時間/60來按區間取值,如果加班40分鐘是0.5小時還是算0.6小時,還是0.7小時呢 ?
分割線---------------------------------------------------------------------------------------
我仔細研究了一番,如果你所有的資料格式都固定,確實可以自定義個一個VBA 的Function()
就像在表格中使用SUM函式的方式一樣。