Microsoft Excel 用户的典型任务之一。 我们有两个“开始-结束”类型的日期范围。 挑战在于确定这些范围是否重叠,如果重叠,重叠多少天。
相交与否?
我们先来解决原则上是否存在区间交集的问题? 假设我们有一张这样的员工轮班表:
可以清楚地看到雅罗斯拉夫和埃琳娜的工作班次相交,但如何在不借助建立日历时间表和视觉控制的情况下计算这一点? 该功能将帮助我们 SUMPRODUCT (总和).
让我们在表格中插入另一列,如果日期相交,则该公式会产生布尔值 TRUE:
穿越是几天?
如果从根本上理解我们的区间是否相交并不容易,而是要确切地知道有多少天正好落入相交,那么任务就会变得更加复杂。 从逻辑上讲,有必要在一个公式中“泵送”多达 3 种不同的情况:
- 间隔不重叠
- 其中一个区间完全吸收了另一个区间
- 区间部分相交
不时地,我看到其他用户使用一堆嵌套的 IF 函数等来实现这种方法。
事实上,一切都可以使用该功能精美地完成 MEDIAN (中位数) 从类别 统计.
如果我们有条件地将第一个区间的开始指定为 N1, 和结束 K1, 和第二个的开始 N2 并结束 K2,那么一般来说,我们的公式可以写成:
=中位数(N1;K1+ 1;K2+1)-中位数(N1;K1+ 1;N2)
紧凑而优雅,不是吗? 😉
- Excel 实际上如何处理日期? 如何计算日期之间的日历或工作日数?
- 如何使用条件格式在 Excel 中构建日历计划(假期、培训、轮班……)?
- 使用 IF (IF) 函数检查一个或多个条件