我有一个 Excel 工作表,基本上如下所示:
A(开始) | B(完) | |
---|---|---|
1 | 2013年12月23日 | 2014年1月3日 |
2 | 2014年1月20日 | 2014年1月25日 |
等等。
start
和 end
中存储的日期可能在同一个月,但不一定。简单地总结一个范围内的工作日并不难:=NETWORKDAYS(A1;B1)
在这里就可以了。
那么问题是如何汇总属于某个月份的范围内的工作日?例如,对于第一行,12 月的结果为 7,1 月的结果为 3。
例如,如果您的边界位于单元格
A1
和 A2
中,并且您想要将该范围与 2013 年 12 月相交:
=NETWORKDAYS(MAX(A1,DATE(2013,12,1)),MIN(A2,DATE(2013,12,31)))
使用@Taosique的公式(+1)并稍微修改一下,您可以创建一个表(必须在需要时维护)来跟踪此类事情。
我会创建几个标题包含日期的列,例如2013年12月1日,然后是2014年1月1日,2014年2月1日等。
然后在单元格 C2 中,使用公式:
=IFERROR(MAX(NETWORKDAYS(MAX($A2,C$1),MIN(D$1-1,$B2)),0),0)
然后将其向下并横向拖动以填充其他列(月份)和人员。如果您想查看我制作的谷歌电子表格这里。
Google 电子表格在格式方面有一些限制,但您可以通过在 Excel 中将其格式设置为
mmm-yy
将其转换为月份来“隐藏”列的日期。