EXCEL-在Countifs内的多个日期内计算周末天数,重叠

时间:2016-06-05 20:45:26

标签: excel countif weekday weekend

我必须根据特殊情况确定在正常工作时间或周末之外开始的手术的总百分比。

这是我到目前为止所做的:

=COUNTIFS(Table1[Start surgery];">17:00")+COUNTIFS(Table1[Start surgery];"<09:00")+COUNTIFS(Table1[Surgery date];"MOD(WEEKDAY(cell), 7) <2")

前2个可以使用,但我无法计算周末时间。第二件事是,可以擅长两次手术,因为手术可以在17:00之后和周末进行,但这必须算作一次。

谁能帮助我:)?

Example

1 个答案:

答案 0 :(得分:0)

由于你的公式的第一部分正在工作,我刚刚修改了公式的最后一部分......

=COUNTIFS(Table1[Start surgery];">17:00")+COUNTIFS(Table1[Start surgery];"<09:00")+SUMPRODUCT((WEEKDAY(Table1[Surgery date])=1)+(WEEKDAY(Table1[Surgery date])=7)

其中1和7相当于星期六和星期日。

上述公式的当前问题是,1700之后和周末0900之前的手术时间被计算两次!

为了纠正这一点,所有条件都可以作为一种潜在的解决方案在sumproduct内部移动,你最终会得到:

=SUMPRODUCT((WEEKDAY(Table1[Surgery Date])=1)+(WEEKDAY(Table1[Surgery Date])=7)+(WEEKDAY(Table1[Surgery Date])=MEDIAN(WEEKDAY(Table1[Surgery Date]),2,6))*(Table1[Start surgery]<"09:00")+(WEEKDAY(Table1[Surgery Date])=MEDIAN(WEEKDAY(Table1[Surgery Date]),2,6))*(Table1[Start surgery]>"17:00"))

现在括号计数可能已关闭,因为当时我没有使用excel。我们可能遇到的另一个潜在问题是时间问题。是您的时间列文本或格式化为时间显示的数字?这可能涉及修改与不同格式的时间比较,但公式本身应保持不变。

基本认为这里是我们把每个条件放在sumproduct里面。条件将评估为TRUE或FALSE。如果条件经过数学运算,它将变为1表示TRUE,0表示FALSE。 +表现为OR语句,*表现为AND语句。