You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets工时表计算:扣除午餐、添加加班及小数小时转换

解决Excel工时表计算(小数小时+加班+午餐扣除)问题

我来帮你搞定这个工时计算的问题,核心是把时间差转换成小数小时再运算,这样后续加加班、求和都方便多了。

1. 基础工时(扣除午餐)的小数转换

你之前的公式得到时间格式,是因为Excel里时间差默认按「天」存储(比如8小时就是8/24≈0.333天)。要转成小数小时,直接把时间差乘以24就行,再减去0.5小时的午餐时间:

假设你的ShiftStart在A列,Shiftend在B列,基础工时(扣除午餐)的公式是:

=(B2 - A2)*24 - 0.5

比如A2是07:30,B2是15:30,计算过程是(8小时)*24/24 - 0.5 = 8 - 0.5 = 7.5,直接得到小数形式的7.5小时。

2. 计算每日总工时(基础+加班)

把上面的基础工时和C列的Overtime(已为小数,比如0.5)相加,就是TotalHours:

=((B2 - A2)*24 - 0.5) + C2

对应你的示例:

  • 第一行:(8-0.5)+0.5 = 8
  • 第二行:7.5 + 0.75 = 8.25
  • 以此类推,完全匹配你给出的结果。

3. 设置单元格格式,确保显示小数

别忘了把TotalHours列的单元格格式改成「数字」或「常规」(右键单元格→设置单元格格式→数字选项卡选数字,保留2位小数即可)。如果设成时间格式,8会显示成08:00,这就是你之前遇到的问题。

4. 求和月度/周总工时

直接用SUM函数对TotalHours列求和就行,比如你的示例里总周工时:

=SUM(D2:D7)

会自动算出52.25,完全符合需求。

额外提示:跨天班次也能处理

如果你的班次有跨天的情况(比如22:00到次日06:00),这个公式依然有效,Excel会自动计算跨天的时间差,乘以24后得到正确的小时数,再扣除午餐、加加班就好。

内容的提问来源于stack exchange,提问作者Ken Pollard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 09:07:41