如何在excel中查找周中包含拆分月的周工作天数

mrzz3bfm  于 2023-08-08  发布在  其他
关注(0)|答案(2)|浏览(112)

我试图得到一周工作的总天数,但也考虑到一周有2个单独的月,天数应该只显示当前月份。即

Week Ending
09/07/2023 - 5 Days
16/07/2023 - 4 days
23/07/2023 - 5 Days
30/07/2023 - 5 Days
06/08/2023 - 1 Day (since 31/07/2023 is a part of Aug week)

字符串
我试着把正常的NETWORKDAYS(E50,F50,$H$49:$H$61),但它只使用开始日期和结束日期,但没有考虑在那里一些星期可以有分裂的月份。

lymnna71

lymnna711#

从这个问题中并不清楚真实的场景,而且对于7/16/2016,我希望输出中有5天,因为一周中的所有天都是同一个月的一部分,即4是typo。我希望这个想法适用于你的真实的情况,如果不是这样,请更新问题,让我知道。- 谢谢-谢谢
您可以手动计算如下。以下公式一次性溢出整个结果(* 公式1*):

=MAP(A2:A6-6, LAMBDA(s,SUM(N(MONTH(s+SEQUENCE(5,,0))=MONTH(s)))))

字符串
您可以使用NETWORKDAYS作为阵列解决方案,可能 * 不太直观 *。我们的想法是建立一个假日列表,如果月份不相同,则排除范围内的日期,或者定义范围外的天数的假日(e+1e,因为它是星期天,即非工作日),如果月份相同:

=LET(end,A2:A6, MAP(end-6,end, LAMBDA(s,e,
 NETWORKDAYS(s,e, IF(MONTH(s+SEQUENCE(7,,0)) = MONTH(s),
  e + 1, s + SEQUENCE(7,,0))))))


输出如下:x1c 0d1x的数据
条件A2:A6-6为给定的一组日期(A2:A6)查找前一个星期一,假设所有的周末都是星期天。

注意:一般情况下,要获取某一天的前一个星期一(不一定是星期天),可以用途:A2:A6-WEEKDAY(A2:A6)-5的数据。

对于 formula 1,我们使用MAP函数迭代所有开始日期(s)。假设工作日是从星期一到星期五,所以要生成一周中的每个工作日,它使用:s+SEQUENCE(5,,0) .它使用MONTH函数来标识与s属于同一个月的工作日。我们使用N()将比较转换为01值,最后使用SUM函数将同一个月的工作日计数为给定的开始日期s

6psbrbz9

6psbrbz92#


的数据
因为你所有的数据总是一个星期天,只要计算参考日期减去7**和 * 之间的最小值,你的参考日期和月底基于当前日期的工作日。
第一个月
无论如何,只要日期是8月,最后一个单元格的输出将被更新,并将在2个不同月份的几周内显示不同的结果。

相关问题