首先,您缺少一个明确的问题陈述。
“工作日小时数”是多少
周五中午到周六中午之间?
好的,我猜你是在 说明你想要的底部图片。
为了不那么刻薄,你错过了什么
(您似乎没有注意到的)
就是,在所有你说结果错误的例子中
(在这些情况下仅),
您的开始日期/时间 (F<i>n</i>)
或您的结束日期/时间 (G<i>n</i>)
是星期六或星期日。
(尝试使用格式<b>ddd</b> mm-dd-yyyy h:mm:ss
而不是mm-dd-yyyy h:mm:ss。)
NETWORKDAYS(Wednesday,Friday) 是 3。
但是NETWORKDAYS(Wednesday,Saturday) 和NETWORKDAYS(Wednesday,Sunday)
也是3。
举第一个例子:星期二 07-03-2018 15:44:16
通过 周日 07-08-2018 20:09:56。
NETWORKDAYS(Tuesday,Sunday) 通常是 4
(周二、周三、周四和周五;忽略周末),
但NETWORKDAYS(Tuesday 07-03,Sunday 07-08) 是3
因为07-04假期。
所以你的公式是 3-1-(15:44:16)+(20:09:56),
或 2+(20:09:56-15:44:16),或 2 天和 4:25:40,
等于 52:25:40,这是 Excel 给你的。
您没有考虑到以下事实
your_formula(2018 年 7 月 3 日星期二 15:44:16,2018 年 7 月 8 日星期日 20:09:56)
等于
your_formula(2018 年 7 月 3 日星期二 15:44:16,星期五 07-06-2018 年 20:09:56)
省略
Fri 07-
06-2018 20:09:56 之间的 3:50:04
和星期五 07-06-2018 24:00:00 —
而且,你瞧,3:50:04 是差异的数量。
更清楚的是第三行,
其中开始日期/时间是 Sat 07-21-2018 6:30:12,
差异是 6:30:12。
我找到了一个基于 NETWORKDAYS(<i>some_date</i>, <i>the_<b>same</b>_date</i>, <i>(holidays)</i>) 的解决方案
如果日期是工作日,则为 1,如果不是,则为 0。
所以
=NETWORKDAYS(F2,G2,Q$2:Q$7)-NETWORKDAYS(G2,G2,Q$2:Q$7)-NETWORKDAYS(F2,F2,Q$2:Q$7)*MOD(F2,1)+NETWORKDAYS(G2,G2,Q$2:Q$7)*MOD(G2,1)
会给你想要的结果。