VBA 日期过滤器

VBA 日期过滤器

解释这一点的最简单方法是举个例子。我有两个日期(fe)“2014-08-08T8:11:31”和“2014-08-11T13:53:29”。我需要给它们适当的形式(日期),排除周末(周六、周日)并将其更改为工作时间。我们的情况是周末和 2 小时午餐时间 - 第一天将近 8 小时(从 8 点到 17 点),第二天将近 5 小时。加起来 13 个小时。输入两个日期输出小时(或 MD)

答案1

该函数NETWORKDAYS可以计算两个日期之间的工作日数。要将天数转换为小时数,我们需要将其乘以 8。

另外,您需要计算第一天(17 小时或17/24一天的 - 部分)和最后一天(结束时间与 8 点或 之间的差值8/24)的小时数。因为我们计算第一天和最后一天的小时数,所以我们必须从答案中减去 2 NETWORKDAYS

因此,如果您的开始日期在 A1 中,而结束日期在 A2 中,则您的最终功能是:=(NETWORKDAYS(A1;A2)-2)*8+17/24-MOD(A1;1)-8/24+MOD(A2;1)

请注意,公式中没有检查输入数据的健全性。

相关内容