Excel工时计算公式结果异常:小时位多10的问题求助
许可证有效工作时长计算公式修正
问题定位
原公式存在两个核心错误,导致计算结果小时数异常偏高:
- 完整工作日时长取值错误:工作日有效时长为9小时(09:00-18:00),但公式中用
*10计算,每多一个完整工作日就多算1小时 - 结束时间起始点错误:工作时间从09:00开始,公式中却用
TIME(8;0;0)作为判断阈值,导致结束时间提前1小时计算有效时长
修正后的公式
=IF(DATEDIF(A5;B5;"D")>1;NETWORKDAYS.INTL(A5+1;B5-1;1)*9;0)/24+ IF(AND(MOD(A5;1)<TIME(18;0;0);WORKDAY.INTL(A5-1;1;1)=INT(A5));(TIME(18;0;0)-MOD(A5;1));0)+ IF(AND(MOD(B5;1)>TIME(9;0;0);WORKDAY.INTL(B5-1;1;1)=INT(B5));(MOD(B5;1)-TIME(9;0;0));0)
关键修正说明
- 将
NETWORKDAYS.INTL(...) *10调整为*9,匹配09:00-18:00的9小时有效工作时长 - 将
TIME(8;0;0)替换为TIME(9;0;0),确保结束时间仅从正式上班时间开始计算有效时长
验证示例
以你提到的场景测试:周五14:00开始使用,周一10:00结束
- 周五有效时长:
18:00-14:00 = 4小时 - 周一有效时长:
10:00-09:00 = 1小时 - 中间无完整工作日,总有效时长为5小时(若你预期6小时,可能是场景起始时间描述偏差,比如周五13:00开始则总时长为6小时)
针对你提到的“1小时时长显示10:00”问题,比如实际有效时长1小时(09:00-10:00),修正后的公式返回1/24,设置单元格格式为hh:mm后显示01:00,符合预期。
内容的提问来源于stack exchange,提问作者leonardo araujo
相关产品推荐
相关产品推荐

