根据给定的小时数确定天数(不包括周末)
Determine number of days (not including weekend) based on hours given
我有两个重要的详细信息被输入到 excel、table、Job_Start_Date 和 Job_Hours 中(表示完成工作所需的时间)。给定特定的工作时间(例如 7:00am-3:30pm),我需要计算他们将在哪一天和什么时间完成。我已经有了基本的工作原理,但我终其一生都无法弄清楚如何在该计算中跳过周末(请注意,Sat/Sun 有一个布尔值定义是否应该跳过那一天)。
这里是数据的例子
和数据可视化的示例:(DIV 错误是因为员工人数等于 0,请不要介意。)
。
这是可视化工具中使用的公式(大量索引匹配)
=IFNA(INDEX(INDIRECT(Allocation!$A), MATCH(1,($A3 = INDIRECT(Allocation!$K))
* (C >= INDIRECT(Allocation!$C)) * (C <= INDIRECT(Allocation!$D))
* IF(C = INDIRECT(Allocation!$C), ($B3 >= INDIRECT(Allocation!$E)),
($B3 >= INDIRECT(Allocation!$I))) * IF(C = INDIRECT(Allocation!$D),
($B3 < INDIRECT(Allocation!$F)), ($B3 < INDIRECT(Allocation!$J))), 0)),"")
正如您在图像中看到的那样,需要跳过星期六(即 FALSE
),但它仍显示在可视化工具上。但是,如果我包含一个符合星期六条件的语句(因此如果 TRUE
它只在星期六显示),它不会改变结束日期,因此不会将最后一天推到星期一。
本质上的问题是:我怎样才能跳过几天但保留 'working hours'。这必须在同一作业 table(第一张图片)中的 excel 公式中完成。
谢谢。
以下是我使用 WORKDAY.INTL
.
实现它的方法
首先是一个嵌套的 IF
以确定 workday.intl 函数使用哪种周末类型
Weekend=IF(OR([@[JOB SATURDAY]], [@[JOB SUNDAY]]), IF(AND([@[JOB SATURDAY]], [@[JOB SUNDAY]]), -1, IF([@[JOB SATURDAY]], 11, 17)), 1)
然后是引用该值的第二个 if 语句,然后吐出正确的日期
=IF([@[Weekend]] = -1, [@[JOB START DATE]]+[@[Working Days]], WORKDAY.INTL([@[JOB START DATE]], [@[Working Days]], [@[Weekend]]))
我有两个重要的详细信息被输入到 excel、table、Job_Start_Date 和 Job_Hours 中(表示完成工作所需的时间)。给定特定的工作时间(例如 7:00am-3:30pm),我需要计算他们将在哪一天和什么时间完成。我已经有了基本的工作原理,但我终其一生都无法弄清楚如何在该计算中跳过周末(请注意,Sat/Sun 有一个布尔值定义是否应该跳过那一天)。
这里是数据的例子
这是可视化工具中使用的公式(大量索引匹配)
=IFNA(INDEX(INDIRECT(Allocation!$A), MATCH(1,($A3 = INDIRECT(Allocation!$K))
* (C >= INDIRECT(Allocation!$C)) * (C <= INDIRECT(Allocation!$D))
* IF(C = INDIRECT(Allocation!$C), ($B3 >= INDIRECT(Allocation!$E)),
($B3 >= INDIRECT(Allocation!$I))) * IF(C = INDIRECT(Allocation!$D),
($B3 < INDIRECT(Allocation!$F)), ($B3 < INDIRECT(Allocation!$J))), 0)),"")
正如您在图像中看到的那样,需要跳过星期六(即 FALSE
),但它仍显示在可视化工具上。但是,如果我包含一个符合星期六条件的语句(因此如果 TRUE
它只在星期六显示),它不会改变结束日期,因此不会将最后一天推到星期一。
本质上的问题是:我怎样才能跳过几天但保留 'working hours'。这必须在同一作业 table(第一张图片)中的 excel 公式中完成。
谢谢。
以下是我使用 WORKDAY.INTL
.
首先是一个嵌套的 IF
以确定 workday.intl 函数使用哪种周末类型
Weekend=IF(OR([@[JOB SATURDAY]], [@[JOB SUNDAY]]), IF(AND([@[JOB SATURDAY]], [@[JOB SUNDAY]]), -1, IF([@[JOB SATURDAY]], 11, 17)), 1)
然后是引用该值的第二个 if 语句,然后吐出正确的日期
=IF([@[Weekend]] = -1, [@[JOB START DATE]]+[@[Working Days]], WORKDAY.INTL([@[JOB START DATE]], [@[Working Days]], [@[Weekend]]))