我试图得到一周工作的总天数,但也考虑到一周有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)
,但它只使用开始日期和结束日期,但没有考虑在那里一些星期可以有分裂的月份。
2条答案
按热度按时间lymnna711#
从这个问题中并不清楚真实的场景,而且对于
7/16/2016
,我希望输出中有5
天,因为一周中的所有天都是同一个月的一部分,即4
是typo。我希望这个想法适用于你的真实的情况,如果不是这样,请更新问题,让我知道。- 谢谢-谢谢您可以手动计算如下。以下公式一次性溢出整个结果(* 公式1*):
字符串
您可以使用
NETWORKDAYS
作为阵列解决方案,可能 * 不太直观 *。我们的想法是建立一个假日列表,如果月份不相同,则排除范围内的日期,或者定义范围外的天数的假日(e+1
或e
,因为它是星期天,即非工作日),如果月份相同:型
输出如下:x1c 0d1x的数据
条件
A2:A6-6
为给定的一组日期(A2:A6
)查找前一个星期一,假设所有的周末都是星期天。注意:一般情况下,要获取某一天的前一个星期一(不一定是星期天),可以用途:
A2:A6-WEEKDAY(A2:A6)-5
的数据。对于 formula 1,我们使用
MAP
函数迭代所有开始日期(s
)。假设工作日是从星期一到星期五,所以要生成一周中的每个工作日,它使用:s+SEQUENCE(5,,0)
.它使用MONTH
函数来标识与s
属于同一个月的工作日。我们使用N()
将比较转换为0
,1
值,最后使用SUM
函数将同一个月的工作日计数为给定的开始日期s
。6psbrbz92#
的数据
因为你所有的数据总是一个星期天,只要计算参考日期减去7**和 * 之间的最小值,你的参考日期和月底基于当前日期的工作日。
第一个月
无论如何,只要日期是8月,最后一个单元格的输出将被更新,并将在2个不同月份的几周内显示不同的结果。