基于多个标准确定NETWORKDAYS

时间:2017-05-12 19:45:34

标签: excel

摘要 表1 - 包括团队中每个人的PTO数据。这张表给出了这个人的名字,他们年度PTO的开始和结束日期。

例如:

    Sheet1
    --------Col1----------------Col2----------------Col3
    Row1    John                06/01/2017          06/10/17
    Row2    John                06/25/2017          07/05/17
    Row3    Jane                06/25/2017          07/05/17
    Row2    Robb                06/11/2017          06/15/17

表2 - 每个资源每月投影PTO。工作表包括一个单元格,其中包含投影报告的开始日期和投影报告的结束日期。它还包括工作表上的每个团队成员。所以想想......

    Sheet2
    A1 = "06/01/2017"
    A2 = "06/31/2017"
    A5 = "Name of Person"        
    A6 = "John"
    A7 = "Jane"
    A8 = "Robb"
    B5 = "# of PTO Days for Reporting Period"

在这张表上,第2栏(B6:B8)我试图根据A1和A2之间的日期范围获取每个人的PTO的总网络天数。因此,那些将PTO泄漏到下个月的人,我不想为那个人抓住TOTAL Network Days,我只想抓住属于A1和A2范围的网络日。

示例 - John有两个PTO范围。其范围是06/01 - 06/10(属于A1和A2的范围),但另一个范围是6/25 - 7/05(因此,7/1 - 7/5不属于A1和A2的范围。后来,我只想在6月份录制NETWORKDAYS。

我尝试了一些不同的公式,这些公式使我能够读取员工的姓名,并且只提取属于A1和A2范围内的网络日,但我很难找到有效的方法。

任何人都知道如何让B6:B8向我提供与资源名称相关的数据并尝试在Sheet1中获取6月份所有适当的网络日?

谢谢!

1 个答案:

答案 0 :(得分:0)

您需要一个帮助列来提取网络日,

Column D是您的帮助列,它根据Sheet2中提供的范围查找网络日。在column D (sheet1)中使用以下公式并向下拖动

=IF(AND(B1>=Sheet2!$A$1,C1<=Sheet2!$A$2),NETWORKDAYS(B1,C1),IF(AND(B1<Sheet2!$A$1,C1<=Sheet2!$A$2,C1>=Sheet2!$A$1),NETWORKDAYS(Sheet2!$A$1,C1),IF(AND(B1>=Sheet2!$A$1,B1<=Sheet2!$A$2,C1>Sheet2!$A$2),NETWORKDAYS(B1,Sheet2!$A$2),0)))

enter image description here

现在,您将为sheet1中的每个条目设置网络日,需要使用SUMIF为sheet2中的每个人添加总计。{使用Sheet2 B6中的公式并向下拖动

=SUMIF(Sheet1!A:A,A6,Sheet1!D:D)

enter image description here

希望这有帮助。

注意: - NETWORKDAYS忽略了周末。